diff options
author | Jurek Bartuszek <jurek@gentoo.org> | 2007-09-10 19:10:12 +0000 |
---|---|---|
committer | Jurek Bartuszek <jurek@gentoo.org> | 2007-09-10 19:10:12 +0000 |
commit | 022778bc8831bdd32a1bd400acb7923318a9fe22 (patch) | |
tree | 605fdb9b53c33d07c13bf841ee2782fa061fd98e | |
parent | Added asm fix for ppc compile issue. (diff) | |
download | gentoo-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/ChangeLog | 10 | ||||
-rw-r--r-- | dev-lang/mono/files/digest-mono-1.2.5 | 3 | ||||
-rw-r--r-- | dev-lang/mono/files/mono-1.2.4-pic.patch | 18 | ||||
-rw-r--r-- | dev-lang/mono/files/mono-1.2.5-make-check.patch | 200 | ||||
-rw-r--r-- | dev-lang/mono/mono-1.2.4.ebuild | 3 | ||||
-rw-r--r-- | dev-lang/mono/mono-1.2.5.ebuild | 124 |
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 +} |