summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJurek Bartuszek <jurek@gentoo.org>2008-01-02 06:13:22 +0000
committerJurek Bartuszek <jurek@gentoo.org>2008-01-02 06:13:22 +0000
commitf42969eb153b944bfa6df3e612e4d70080fe1b1b (patch)
tree407ad775397a058b4a0f38f60e06cb048b733acd /dev-lang
parentStable for HPPA (bug #198649). (diff)
downloadgentoo-2-f42969eb153b944bfa6df3e612e4d70080fe1b1b.tar.gz
gentoo-2-f42969eb153b944bfa6df3e612e4d70080fe1b1b.tar.bz2
gentoo-2-f42969eb153b944bfa6df3e612e4d70080fe1b1b.zip
dev-lang/mono-1.2.6-r1: added patch fixing bug #202358
(Portage version: 2.1.3.19)
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/mono/ChangeLog11
-rw-r--r--dev-lang/mono/files/digest-mono-1.2.6-r13
-rw-r--r--dev-lang/mono/files/mono-1.2.6-threads-types-private-prototypes.patch32
-rw-r--r--dev-lang/mono/mono-1.2.6-r1.ebuild127
4 files changed, 171 insertions, 2 deletions
diff --git a/dev-lang/mono/ChangeLog b/dev-lang/mono/ChangeLog
index ee99821d94d4..ca1b8561776b 100644
--- a/dev-lang/mono/ChangeLog
+++ b/dev-lang/mono/ChangeLog
@@ -1,6 +1,13 @@
# 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.132 2007/12/14 19:59:25 jurek Exp $
+# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mono/ChangeLog,v 1.133 2008/01/02 06:13:22 jurek Exp $
+
+*mono-1.2.6-r1 (02 Jan 2008)
+
+ 02 Jan 2008; Jurek Bartuszek <jurek@gentoo.org>
+ +files/mono-1.2.6-threads-types-private-prototypes.patch,
+ +mono-1.2.6-r1.ebuild:
+ Added patch fixing bug #202358
*mono-1.2.6 (14 Dec 2007)
diff --git a/dev-lang/mono/files/digest-mono-1.2.6-r1 b/dev-lang/mono/files/digest-mono-1.2.6-r1
new file mode 100644
index 000000000000..614eb182a555
--- /dev/null
+++ b/dev-lang/mono/files/digest-mono-1.2.6-r1
@@ -0,0 +1,3 @@
+MD5 391f85b4f962269e044ceac2b5235310 mono-1.2.6.tar.bz2 18163130
+RMD160 c6536b008cb73845943956c9ab365589a28c013c mono-1.2.6.tar.bz2 18163130
+SHA256 24cc4f396cac3053c7ba3fe68bc1b80359d75dc4f54a85f39a73cabc3d3f560f mono-1.2.6.tar.bz2 18163130
diff --git a/dev-lang/mono/files/mono-1.2.6-threads-types-private-prototypes.patch b/dev-lang/mono/files/mono-1.2.6-threads-types-private-prototypes.patch
new file mode 100644
index 000000000000..eec421241a42
--- /dev/null
+++ b/dev-lang/mono/files/mono-1.2.6-threads-types-private-prototypes.patch
@@ -0,0 +1,32 @@
+--- mono/metadata/threads.h 2007/12/20 00:38:27 1.1
++++ mono/metadata/threads.h 2007/12/20 00:38:46
+@@ -14,7 +14,6 @@
+ #include <mono/utils/mono-membar.h>
+ #include <mono/metadata/object.h>
+ #include <mono/metadata/appdomain.h>
+-#include <mono/metadata/threads-types.h>
+
+ G_BEGIN_DECLS
+
+@@ -67,10 +66,6 @@ extern void mono_thread_interruption_che
+ extern void mono_thread_force_interruption_checkpoint (void);
+ extern gint32* mono_thread_interruption_request_flag (void);
+
+-extern void mono_thread_set_state (MonoThread *thread, MonoThreadState state);
+-extern void mono_thread_clr_state (MonoThread *thread, MonoThreadState state);
+-extern gboolean mono_thread_test_state (MonoThread *thread, MonoThreadState test);
+-
+ G_END_DECLS
+
+ #endif /* _MONO_METADATA_THREADS_H_ */
+--- mono/metadata/threads-types.h 2007/12/20 00:38:32 1.1
++++ mono/metadata/threads-types.h 2007/12/20 00:40:55
+@@ -157,4 +157,8 @@ extern MonoThreadHazardPointers* mono_ha
+ (hp)->hazard_pointers [(i)] = NULL; \
+ } while (0)
+
++extern void mono_thread_set_state (MonoThread *thread, MonoThreadState state) MONO_INTERNAL;
++extern void mono_thread_clr_state (MonoThread *thread, MonoThreadState state) MONO_INTERNAL;
++extern gboolean mono_thread_test_state (MonoThread *thread, MonoThreadState test) MONO_INTERNAL;
++
+ #endif /* _MONO_METADATA_THREADS_TYPES_H_ */
diff --git a/dev-lang/mono/mono-1.2.6-r1.ebuild b/dev-lang/mono/mono-1.2.6-r1.ebuild
new file mode 100644
index 000000000000..1a0be5959a62
--- /dev/null
+++ b/dev-lang/mono/mono-1.2.6-r1.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mono/mono-1.2.6-r1.ebuild,v 1.1 2008/01/02 06:13:22 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"
+
+ # Remove dummy ltconfig and let libtool handle it
+ rm -f "${S}"/libgc/ltconfig
+
+ epatch "${FILESDIR}"/mono-biginteger_overflow.diff
+
+ # Fixes bug #202358, see
+ # https://bugzilla.novell.com/show_bug.cgi?id=349952
+ epatch "${FILESDIR}"/${P}-threads-types-private-prototypes.patch
+
+ 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
+}