Bump to 1.2, and do some long over due house cleaning.
authorPeter Johanson <latexer@gentoo.org>
Fri, 10 Nov 2006 22:52:03 +0000 (22:52 +0000)
committerPeter Johanson <latexer@gentoo.org>
Fri, 10 Nov 2006 22:52:03 +0000 (22:52 +0000)
Package-Manager: portage-2.1.2_pre1-r4

dev-lang/mono/files/digest-mono-1.2 [new file with mode: 0644]
dev-lang/mono/mono-1.2.ebuild [new file with mode: 0644]

diff --git a/dev-lang/mono/files/digest-mono-1.2 b/dev-lang/mono/files/digest-mono-1.2
new file mode 100644 (file)
index 0000000..8721974
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 eb75a8b3bedbaa60ff3c3410ef4b759b mono-1.2.tar.gz 19606768
+RMD160 5143aee08d5289852166cdac1d81c6be63a1595d mono-1.2.tar.gz 19606768
+SHA256 41e1dfe6e2acfd22375f949c6f5984eacfb3b75d0b140a1062d1d78a4aabf64f mono-1.2.tar.gz 19606768
diff --git a/dev-lang/mono/mono-1.2.ebuild b/dev-lang/mono/mono-1.2.ebuild
new file mode 100644 (file)
index 0000000..3f3e69e
--- /dev/null
@@ -0,0 +1,101 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mono/mono-1.2.ebuild,v 1.1 2006/11/10 22:52:02 latexer 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.gz"
+
+LICENSE="|| ( GPL-2 LGPL-2 X11 )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+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 )"
+DEPEND="${RDEPEND}
+                 sys-devel/bc
+               >=dev-util/pkgconfig-0.19"
+
+# Parallel build unfriendly
+MAKEOPTS="${MAKEOPTS} -j1"
+
+# confcache causes build errors
+RESTRICT="confcache"
+
+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
+
+       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 ; then
+               # force __thread on amd64 (bug #83770)
+               myconf="${myconf} --with-tls=__thread"
+       else
+               if use nptl ; then
+                       myconf="${myconf} --with-tls=__thread"
+               else
+                       myconf="${myconf} --with-tls=pthread"
+               fi
+       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 || die "compile failed"
+}
+
+src_install() {
+       emake DESTDIR=${D} install || die "install failed"
+
+       dodoc AUTHORS ChangeLog NEWS README
+
+       docinto docs
+       dodoc docs/*
+
+       docinto libgc
+       dodoc libgc/ChangeLog
+}