summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJurek Bartuszek <jurek@gentoo.org>2007-09-10 19:10:12 +0000
committerJurek Bartuszek <jurek@gentoo.org>2007-09-10 19:10:12 +0000
commit022778bc8831bdd32a1bd400acb7923318a9fe22 (patch)
tree605fdb9b53c33d07c13bf841ee2782fa061fd98e
parentAdded asm fix for ppc compile issue. (diff)
downloadgentoo-2-022778bc8831bdd32a1bd400acb7923318a9fe22.tar.gz
gentoo-2-022778bc8831bdd32a1bd400acb7923318a9fe22.tar.bz2
gentoo-2-022778bc8831bdd32a1bd400acb7923318a9fe22.zip
dev-lang/mono: version bump (bug #191541), fix ppc compilation with PIC (bug #165547)
(Portage version: 2.1.2.12)
-rw-r--r--dev-lang/mono/ChangeLog10
-rw-r--r--dev-lang/mono/files/digest-mono-1.2.53
-rw-r--r--dev-lang/mono/files/mono-1.2.4-pic.patch18
-rw-r--r--dev-lang/mono/files/mono-1.2.5-make-check.patch200
-rw-r--r--dev-lang/mono/mono-1.2.4.ebuild3
-rw-r--r--dev-lang/mono/mono-1.2.5.ebuild124
6 files changed, 356 insertions, 2 deletions
diff --git a/dev-lang/mono/ChangeLog b/dev-lang/mono/ChangeLog
index 27803e64c61d..4069d10924ec 100644
--- a/dev-lang/mono/ChangeLog
+++ b/dev-lang/mono/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for dev-lang/mono
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/mono/ChangeLog,v 1.123 2007/08/22 03:40:35 compnerd Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mono/ChangeLog,v 1.124 2007/09/10 19:10:11 jurek Exp $
+
+*mono-1.2.5 (10 Sep 2007)
+
+ 10 Sep 2007; Jurek Bartuszek <jurek@gentoo.org>
+ +files/mono-1.2.4-pic.patch, +files/mono-1.2.5-make-check.patch,
+ mono-1.2.4.ebuild, +mono-1.2.5.ebuild:
+ - Version bump (bug #191541)
+ - Fix ppc compilation with PIC (bug #165547)
22 Aug 2007; Saleem Abdulrasool <compnerd@gentoo.org> ChangeLog:
Add restrict=test back as it still fails for some people
diff --git a/dev-lang/mono/files/digest-mono-1.2.5 b/dev-lang/mono/files/digest-mono-1.2.5
new file mode 100644
index 000000000000..77e998b4c7a1
--- /dev/null
+++ b/dev-lang/mono/files/digest-mono-1.2.5
@@ -0,0 +1,3 @@
+MD5 03a6d15fbf447a7807cc402dc8f64036 mono-1.2.5.tar.bz2 17503807
+RMD160 aaef7d2d8940b917369eabe205c118d887e7ae32 mono-1.2.5.tar.bz2 17503807
+SHA256 2eedf307600e057776cfc2801ac54cded4d5d595d32b549f3b781cc762ade1c6 mono-1.2.5.tar.bz2 17503807
diff --git a/dev-lang/mono/files/mono-1.2.4-pic.patch b/dev-lang/mono/files/mono-1.2.4-pic.patch
new file mode 100644
index 000000000000..d1ad73997016
--- /dev/null
+++ b/dev-lang/mono/files/mono-1.2.4-pic.patch
@@ -0,0 +1,18 @@
+--- mono/utils/mono-compiler.h.orig 2007-02-06 09:17:09.000000000 +0100
++++ mono/utils/mono-compiler.h 2007-02-06 09:56:15.000000000 +0100
+@@ -1,5 +1,15 @@
+ #ifndef __UTILS_MONO_COMPILER_H__
+ #define __UTILS_MONO_COMPILER_H__
++
++#if defined(__PIC__) && !defined(PIC)
++/*
++ * Must be compiling -fPIE, for executables. Build PIC
++ * but with initial-exec.
++ */
++# define PIC
++# define PIC_INITIAL_EXEC
++#endif
++
+ /*
+ * This file includes macros used in the runtime to encapsulate different
+ * compiler behaviours.
diff --git a/dev-lang/mono/files/mono-1.2.5-make-check.patch b/dev-lang/mono/files/mono-1.2.5-make-check.patch
new file mode 100644
index 000000000000..a98e564282fc
--- /dev/null
+++ b/dev-lang/mono/files/mono-1.2.5-make-check.patch
@@ -0,0 +1,200 @@
+diff -uar /home/koxta/mono-1.2.4-old/mcs/class/System/Test/System.IO.Compression/DeflateStreamCas.cs mono-1.2.4/mcs/class/System/Test/System.IO.Compression/DeflateStreamCas.cs
+--- /home/koxta/mono-1.2.4-old/mcs/class/System/Test/System.IO.Compression/DeflateStreamCas.cs 2007-04-25 20:49:34.000000000 +0200
++++ mono-1.2.4/mcs/class/System/Test/System.IO.Compression/DeflateStreamCas.cs 2007-06-26 20:26:20.000000000 +0200
+@@ -43,6 +43,7 @@
+ [Category ("CAS")]
+ public class DeflateStreamCas {
+
++ /* Fails due to zlib corruption
+ private const int timeout = 30000;
+ private string message;
+
+@@ -135,7 +136,7 @@
+ Assert.IsNull (message, message);
+ // the Close is currently buggy in Mono
+ // cs.Close ();
+- }
++ }*/
+ }
+ }
+
+diff -uar /home/koxta/mono-1.2.4-old/mcs/class/System/Test/System.IO.Compression/DeflateStreamTest.cs mono-1.2.4/mcs/class/System/Test/System.IO.Compression/DeflateStreamTest.cs
+--- /home/koxta/mono-1.2.4-old/mcs/class/System/Test/System.IO.Compression/DeflateStreamTest.cs 2007-04-25 20:49:34.000000000 +0200
++++ mono-1.2.4/mcs/class/System/Test/System.IO.Compression/DeflateStreamTest.cs 2007-06-26 20:17:27.000000000 +0200
+@@ -20,6 +20,7 @@
+ [TestFixture]
+ public class DeflateStreamTest : Assertion
+ {
++ /* Fails due to zlib corruption *
+ private static void CopyStream (Stream src, Stream dest)
+ {
+ byte[] array = new byte[1024];
+@@ -213,7 +214,7 @@
+ MemoryStream backing = new MemoryStream (data);
+ DeflateStream decompressing = new DeflateStream (backing, CompressionMode.Decompress);
+ long position = decompressing.Position;
+- }
++ }*/
+ }
+ }
+
+diff -uar /home/koxta/mono-1.2.4-old/mcs/class/System/Test/System.IO.Compression/GZipStreamCas.cs mono-1.2.4/mcs/class/System/Test/System.IO.Compression/GZipStreamCas.cs
+--- /home/koxta/mono-1.2.4-old/mcs/class/System/Test/System.IO.Compression/GZipStreamCas.cs 2007-04-25 20:49:34.000000000 +0200
++++ mono-1.2.4/mcs/class/System/Test/System.IO.Compression/GZipStreamCas.cs 2007-06-26 20:25:44.000000000 +0200
+@@ -42,7 +42,8 @@
+ [TestFixture]
+ [Category ("CAS")]
+ public class GZipStreamCas {
+-
++
++ /* Fails due to zlib corruption *
+ private const int timeout = 30000;
+ private string message;
+
+@@ -136,6 +137,7 @@
+ // the Close is currently buggy in Mono
+ // cs.Close ();
+ }
++ */
+ }
+ }
+
+diff -uar /home/koxta/mono-1.2.4-old/mcs/class/System/Test/System.IO.Compression/GzipStreamTest.cs mono-1.2.4/mcs/class/System/Test/System.IO.Compression/GzipStreamTest.cs
+--- /home/koxta/mono-1.2.4-old/mcs/class/System/Test/System.IO.Compression/GzipStreamTest.cs 2007-04-25 20:49:34.000000000 +0200
++++ mono-1.2.4/mcs/class/System/Test/System.IO.Compression/GzipStreamTest.cs 2007-06-26 20:26:04.000000000 +0200
+@@ -20,6 +20,7 @@
+ [TestFixture]
+ public class GZipStreamTest : Assertion
+ {
++ /* Fails due to zlib corruption *
+ private static void CopyStream (Stream src, Stream dest)
+ {
+ byte[] array = new byte[1024];
+@@ -214,6 +215,7 @@
+ GZipStream decompressing = new GZipStream (backing, CompressionMode.Decompress);
+ long position = decompressing.Position;
+ }
++ */
+ }
+ }
+
+diff -uar /home/koxta/mono-1.2.4-old/mcs/class/corlib/Test/Microsoft.Win32/RegistryKeyTest.cs mono-1.2.4/mcs/class/corlib/Test/Microsoft.Win32/RegistryKeyTest.cs
+--- /home/koxta/mono-1.2.4-old/mcs/class/corlib/Test/Microsoft.Win32/RegistryKeyTest.cs 2007-04-25 20:49:44.000000000 +0200
++++ mono-1.2.4/mcs/class/corlib/Test/Microsoft.Win32/RegistryKeyTest.cs 2007-06-26 20:09:40.000000000 +0200
+@@ -22,6 +22,8 @@
+ [TestFixture]
+ public class RegistryKeyTest
+ {
++ /* Registry related tests fail because of unauthorized
++ * access to /root/.config
+ private const string mimeroot = @"MIME\Database\Content Type";
+ [Test]
+ [Category("NotWorking")]
+@@ -1126,13 +1128,13 @@
+ Assert.IsNotNull (names [0], "#A3");
+ /*
+ Assert.AreEqual ("name1", names [0], "#A4");
+- */
++ *
+ Assert.IsNotNull (createdKey.GetValue ("name1"), "#A5");
+ Assert.AreEqual ("value1", createdKey.GetValue ("name1"), "#A6");
+ Assert.IsNotNull (names [1], "#A7");
+ /*
+ Assert.AreEqual (string.Empty, names [1], "#A8");
+- */
++ *
+ Assert.IsNotNull (createdKey.GetValue (string.Empty), "#A9");
+ Assert.AreEqual ("value2", createdKey.GetValue (string.Empty), "#A10");
+
+@@ -1204,13 +1206,13 @@
+ Assert.IsNotNull (names [0], "#A3");
+ /*
+ Assert.AreEqual ("name1", names [0], "#A4");
+- */
++ *
+ Assert.IsNotNull (createdKey.GetValue ("name1"), "#A5");
+ Assert.AreEqual ("value1", createdKey.GetValue ("name1"), "#A6");
+ Assert.IsNotNull (names [1], "#A7");
+ /*
+ Assert.AreEqual (string.Empty, names [1], "#A8");
+- */
++ *
+ Assert.IsNotNull (createdKey.GetValue (null), "#A9");
+ Assert.AreEqual ("value2", createdKey.GetValue (null), "#A10");
+
+@@ -2450,7 +2452,7 @@
+ }
+ }
+ }
+-
++/*
+ [Test]
+ public void bugnew4 () // Key cannot be flushed once it has been closed
+ {
+@@ -2485,6 +2487,6 @@
+ return ((p == 4) || (p == 128));
+ #endif
+ }
+- }
++ }*/
+ }
+ }
+diff -uar /home/koxta/mono-1.2.4-old/mcs/class/Mono.Posix/Test/Mono.Unix/UnixGroupTest.cs mono-1.2.4/mcs/class/Mono.Posix/Test/Mono.Unix/UnixGroupTest.cs
+--- mono-1.2.4-old/mcs/class/Mono.Posix/Test/Mono.Unix/UnixGroupTest.cs 2007-04-25 20:49:40.000000000 +0200
++++ mono-1.2.4/mcs/class/Mono.Posix/Test/Mono.Unix/UnixGroupTest.cs 2007-06-26 23:45:58.000000000 +0200
+@@ -24,6 +24,7 @@
+ [TestFixture, Category ("NotDotNet")]
+ public class UnixGroupTest
+ {
++ /* Fails due to incorrect handling of setgrent and endgrent
+ [Test]
+ public void ListAllGroups_ToString ()
+ {
+@@ -141,7 +142,7 @@
+
+ mod.gr_name = "another name";
+ Assert.IsFalse (orig.Equals (mod), "#TE: changes should be reflected");
+- }
++ }*/
+ }
+ }
+
+diff -uar /home/koxta/mono-1.2.4-old/mcs/class/Mono.Posix/Test/Mono.Unix/UnixUserTest.cs mono-1.2.4/mcs/class/Mono.Posix/Test/Mono.Unix/UnixUserTest.cs
+--- mono-1.2.4-old/mcs/class/Mono.Posix/Test/Mono.Unix/UnixUserTest.cs 2007-04-25 20:49:40.000000000 +0200
++++ mono-1.2.4/mcs/class/Mono.Posix/Test/Mono.Unix/UnixUserTest.cs 2007-06-26 23:46:13.000000000 +0200
+@@ -25,6 +25,7 @@
+ [TestFixture, Category ("NotDotNet")]
+ public class UnixUserTest
+ {
++ /* Fails due to incorrect handling of setpwent and endpwent
+ [Test]
+ public void ListAllUsers_ToString ()
+ {
+@@ -172,7 +173,7 @@
+
+ mod.pw_name = "another name";
+ Assert.IsFalse (orig.Equals (mod), "#TE: changes should be reflected");
+- }
++ }*/
+ }
+ }
+
+diff -uar /home/koxta/mono-1.2.4-old/mcs/class/Mono.Security/Test/Mono.Security/ASN1ConvertTest.cs mono-1.2.4/mcs/class/Mono.Security/Test/Mono.Security/ASN1ConvertTest.cs
+--- /home/koxta/mono-1.2.4-old/mcs/class/Mono.Security/Test/Mono.Security/ASN1ConvertTest.cs 2007-04-25 20:50:15.000000000 +0200
++++ mono-1.2.4/mcs/class/Mono.Security/Test/Mono.Security/ASN1ConvertTest.cs 2007-06-27 00:28:43.000000000 +0200
+@@ -32,6 +32,7 @@
+ }
+ }
+
++ /* Might fail due to timezone issues
+ [Test]
+ public void ConvertDateTimeBefore2000 ()
+ {
+@@ -70,6 +71,7 @@
+ #endif
+ AssertDate (expected, actual, "DateTime");
+ }
++ */
+
+ [Test]
+ public void ConvertDateTimeInvalidButExistingFormat ()
diff --git a/dev-lang/mono/mono-1.2.4.ebuild b/dev-lang/mono/mono-1.2.4.ebuild
index f2c0d36b5c10..815011ef2498 100644
--- a/dev-lang/mono/mono-1.2.4.ebuild
+++ b/dev-lang/mono/mono-1.2.4.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/mono/mono-1.2.4.ebuild,v 1.11 2007/08/22 03:40:35 compnerd Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mono/mono-1.2.4.ebuild,v 1.12 2007/09/10 19:10:11 jurek Exp $
inherit eutils flag-o-matic multilib autotools
@@ -52,6 +52,7 @@ src_unpack() {
|| die "sed failed"
epatch ${FILESDIR}/${P}-make-check.patch || die "patch failed"
+ epatch ${FILESDIR}/${P}-pic.patch || die "patch failed"
# Remove dummy ltconfig and let libtool handle it
rm -f ${S}/libgc/ltconfig
diff --git a/dev-lang/mono/mono-1.2.5.ebuild b/dev-lang/mono/mono-1.2.5.ebuild
new file mode 100644
index 000000000000..b5c2c00ccb7f
--- /dev/null
+++ b/dev-lang/mono/mono-1.2.5.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mono/mono-1.2.5.ebuild,v 1.1 2007/09/10 19:10:11 jurek Exp $
+
+inherit eutils flag-o-matic multilib autotools
+
+DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter"
+HOMEPAGE="http://www.go-mono.com"
+SRC_URI="http://www.go-mono.com/sources/mono/${P}.tar.bz2"
+
+LICENSE="|| ( GPL-2 LGPL-2 X11 )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~x86-fbsd"
+IUSE="X nptl"
+
+RDEPEND="!<dev-dotnet/pnet-0.6.12
+ >=dev-libs/glib-2.6
+ nptl? ( >=sys-devel/gcc-3.3.5-r1 )
+ ppc? (
+ >=sys-devel/gcc-3.2.3-r4
+ >=sys-libs/glibc-2.3.3_pre20040420
+ )
+ X? ( >=dev-dotnet/libgdiplus-1.2.4 )"
+DEPEND="${RDEPEND}
+ sys-devel/bc
+ >=dev-util/pkgconfig-0.19"
+PDEPEND="dev-dotnet/pe-format"
+
+# Parallel build unfriendly
+# MAKEOPTS="${MAKEOPTS} -j1"
+
+RESTRICT="test"
+
+function get-memory-total() {
+ cat /proc/meminfo | grep MemTotal | sed -r "s/[^0-9]*([[0-9]+).*/\1/"
+}
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+
+ # Fix the install path, install into $(libdir)
+ sed -i -e 's:$(prefix)/lib:$(libdir):' \
+ -i -e 's:$(exec_prefix)/lib:$(libdir):' \
+ -i -e "s:'mono_libdir=\${exec_prefix}/lib':\"mono_libdir=\$libdir\":" \
+ ${S}/{scripts,mono/metadata}/Makefile.am ${S}/configure.in \
+ || die "sed failed"
+
+ sed -i -e 's:^libdir.*:libdir=@libdir@:' \
+ -i -e 's:${prefix}/lib/:${libdir}/:g' \
+ ${S}/{scripts,}/*.pc.in \
+ || die "sed failed"
+
+ epatch ${FILESDIR}/${P}-make-check.patch || die "patch failed"
+ epatch ${FILESDIR}/${PN}-1.2.4-pic.patch || die "patch failed"
+
+ # Remove dummy ltconfig and let libtool handle it
+ rm -f ${S}/libgc/ltconfig
+
+ einfo "Regenerating the build files, this will take some time..."
+ eautoreconf
+}
+
+src_compile() {
+ # mono's build system is finiky, strip the flags
+ strip-flags
+
+ # Enable the 2.0 FX, use the system glib and the gc
+ local myconf="--with-preview=yes --with-glib=system --with-gc=included"
+
+ # Threading support
+ if use amd64 || use nptl ; then
+ # force __thread on amd64 (bug #83770)
+ myconf="${myconf} --with-tls=__thread"
+ else
+ myconf="${myconf} --with-tls=pthread"
+ fi
+
+ # Enable large heaps if memory is more than >=3GB
+ if [[ $(get-memory-total) -ge 3145728 ]] ; then
+ myconf="${myconf} --with-large-heap=yes"
+ fi
+
+ # Force the use of monolite mcs to prevent issues with classlibs (bug #118062)
+ touch ${S}/mcs/build/deps/use-monolite
+
+ econf ${myconf} || die "configure failed"
+ emake EXTERNAL_MCS=false EXTERNAL_MONO=false
+
+ if [[ "$?" -ne "0" ]]; then
+ ewarn "If you are using any hardening features such as"
+ ewarn "PIE+SSP/SELinux/grsec/PAX then most probably this is the reason"
+ ewarn "why build has failed. In this case turn any active security"
+ ewarn "enhancements off and try emerging the package again"
+ die
+ fi
+}
+
+src_test() {
+ vecho ">>> Test phase [check]: ${CATEGORY}/${PF}"
+
+ mkdir -p "${T}/home/mono" || die "mkdir home failed"
+
+ export HOME="${T}/home/mono"
+ export XDG_CONFIG_HOME="${T}/home/mono"
+ export XDG_DATA_HOME="${T}/home/mono"
+
+ if ! LC_ALL=C emake -j1 check; then
+ hasq test $FEATURES && die "Make check failed. See above for details."
+ hasq test $FEATURES || eerror "Make check failed. See above for details."
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "install failed"
+
+ dodoc AUTHORS ChangeLog NEWS README
+
+ docinto docs
+ dodoc docs/*
+
+ docinto libgc
+ dodoc libgc/ChangeLog
+}