diff options
author | Jurek Bartuszek <jurek@gentoo.org> | 2008-01-02 06:13:22 +0000 |
---|---|---|
committer | Jurek Bartuszek <jurek@gentoo.org> | 2008-01-02 06:13:22 +0000 |
commit | f42969eb153b944bfa6df3e612e4d70080fe1b1b (patch) | |
tree | 407ad775397a058b4a0f38f60e06cb048b733acd /dev-lang | |
parent | Stable for HPPA (bug #198649). (diff) | |
download | gentoo-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/ChangeLog | 11 | ||||
-rw-r--r-- | dev-lang/mono/files/digest-mono-1.2.6-r1 | 3 | ||||
-rw-r--r-- | dev-lang/mono/files/mono-1.2.6-threads-types-private-prototypes.patch | 32 | ||||
-rw-r--r-- | dev-lang/mono/mono-1.2.6-r1.ebuild | 127 |
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 +} |