summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Alfredsen <loki_val@gentoo.org>2009-01-18 17:45:22 +0000
committerPeter Alfredsen <loki_val@gentoo.org>2009-01-18 17:45:22 +0000
commitfdc75234a72283da198d1c6646f75aec1c6ddae8 (patch)
tree26b4a3ecdaf24125db10849fefe453d40f795441 /dev-lang
parentVersion bump. Fixes bug #255406. (diff)
downloadgentoo-2-fdc75234a72283da198d1c6646f75aec1c6ddae8.tar.gz
gentoo-2-fdc75234a72283da198d1c6646f75aec1c6ddae8.tar.bz2
gentoo-2-fdc75234a72283da198d1c6646f75aec1c6ddae8.zip
Bump to 2.2, bug 254929
(Portage version: 2.2_rc22/cvs/Linux 2.6.28 x86_64)
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/mono/ChangeLog13
-rw-r--r--dev-lang/mono/files/mono-1.9.1-glibc-2.8-deprecated-arg-max.patch21
-rw-r--r--dev-lang/mono/files/mono-2.2-libdir126.patch68
-rw-r--r--dev-lang/mono/files/mono-2.2-ppc-threading.patch21
-rw-r--r--dev-lang/mono/files/mono-2.2-uselibdir.patch18
-rw-r--r--dev-lang/mono/metadata.xml5
-rw-r--r--dev-lang/mono/mono-1.9.1.ebuild124
-rw-r--r--dev-lang/mono/mono-2.0.1-r1.ebuild6
-rw-r--r--dev-lang/mono/mono-2.0.1.ebuild96
-rw-r--r--dev-lang/mono/mono-2.2.ebuild170
10 files changed, 295 insertions, 247 deletions
diff --git a/dev-lang/mono/ChangeLog b/dev-lang/mono/ChangeLog
index e23195c6089f..4b69f6a5fff7 100644
--- a/dev-lang/mono/ChangeLog
+++ b/dev-lang/mono/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for dev-lang/mono
-# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/mono/ChangeLog,v 1.148 2008/12/25 23:06:13 loki_val Exp $
+# Copyright 2002-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mono/ChangeLog,v 1.149 2009/01/18 17:45:22 loki_val Exp $
+
+*mono-2.2 (18 Jan 2009)
+
+ 18 Jan 2009; Peter Alfredsen <loki_val@gentoo.org>
+ -files/mono-1.9.1-glibc-2.8-deprecated-arg-max.patch,
+ +files/mono-2.2-libdir126.patch, +files/mono-2.2-ppc-threading.patch,
+ +files/mono-2.2-uselibdir.patch, metadata.xml, -mono-1.9.1.ebuild,
+ -mono-2.0.1.ebuild, mono-2.0.1-r1.ebuild, +mono-2.2.ebuild:
+ Bump to 2.2, bug 254929. Drop old versions. Fix a couple of repoman nits.
*mono-2.0.1-r1 (25 Dec 2008)
diff --git a/dev-lang/mono/files/mono-1.9.1-glibc-2.8-deprecated-arg-max.patch b/dev-lang/mono/files/mono-1.9.1-glibc-2.8-deprecated-arg-max.patch
deleted file mode 100644
index 491302ba7dab..000000000000
--- a/dev-lang/mono/files/mono-1.9.1-glibc-2.8-deprecated-arg-max.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- mono/io-layer/wapi_glob.c.orig 2008-06-13 21:22:30.000000000 -0700
-+++ mono/io-layer/wapi_glob.c 2008-06-13 21:31:59.000000000 -0700
-@@ -266,6 +266,9 @@
- u_int newsize, len;
- char *copy;
- const gchar *p;
-+ long arglen;
-+
-+ arglen = sysconf(_SC_ARG_MAX);
-
- newsize = sizeof(*pathv) * (2 + pglob->gl_pathc + pglob->gl_offs);
- pathv = pglob->gl_pathv ? realloc((char *)pglob->gl_pathv, newsize) :
-@@ -300,7 +303,7 @@
- pathv[pglob->gl_offs + pglob->gl_pathc] = NULL;
-
- if ((pglob->gl_flags & WAPI_GLOB_LIMIT) &&
-- newsize + *limitp >= ARG_MAX) {
-+ newsize + *limitp >= arglen) {
- errno = 0;
- return(WAPI_GLOB_NOSPACE);
- }
diff --git a/dev-lang/mono/files/mono-2.2-libdir126.patch b/dev-lang/mono/files/mono-2.2-libdir126.patch
new file mode 100644
index 000000000000..ef0772552378
--- /dev/null
+++ b/dev-lang/mono/files/mono-2.2-libdir126.patch
@@ -0,0 +1,68 @@
+# Allows us to use lib64/lib32 as path for GAC. Snatched from Fedora,
+# altered to be easily sedded.
+# Sed this file to have the proper libdir:
+# sed -i -e "s:@MONOLIBDIR@:$(get_libdir):" FILENAME
+# http://cvs.fedoraproject.org/viewvc/rpms/mono/devel/mono-libdir-126.patch?view=log
+
+Index: mono-1.1.16/mcs/tools/cilc/res-Makefile
+===================================================================
+--- mono-1.1.16.orig/mcs/tools/cilc/res-Makefile
++++ mono-1.1.16/mcs/tools/cilc/res-Makefile
+@@ -2,7 +2,7 @@ include defs.mk
+
+ LIBNAME = $(shell echo $(basename $(SONAME)) | sed -e 's/^lib//')
+ HTARGET = $(prefix)/include/$(LIBNAME)/
+-LIBTARGET = $(prefix)/lib/
++LIBTARGET = $(libdir)
+
+ CFLAGS += -static -fpic $(shell pkg-config --cflags glib-2.0 gobject-2.0 mono) $(EXTRAINCLUDES) -I.
+
+--- mono-1.1.16.1/mono/metadata/assembly.c.libdir 2006-08-17 17:52:42.000000000 +0200
++++ mono-1.1.16.1/mono/metadata/assembly.c 2006-08-17 17:56:21.000000000 +0200
+@@ -521,7 +521,7 @@
+ }
+
+ config = g_build_filename (base, "etc", NULL);
+- lib = g_build_filename (base, "lib", NULL);
++ lib = g_build_filename (base, "@MONOLIBDIR@", NULL);
+ mono = g_build_filename (lib, "mono/1.0", NULL);
+ if (stat (mono, &buf) == -1)
+ fallback ();
+@@ -1844,7 +1844,7 @@
+ if (extra_gac_paths) {
+ paths = extra_gac_paths;
+ while (!res && *paths) {
+- gacpath = g_build_path (G_DIR_SEPARATOR_S, *paths, "lib", "mono", "gac", aname->name, NULL);
++ gacpath = g_build_path (G_DIR_SEPARATOR_S, *paths, "@MONOLIBDIR@", "mono", "gac", aname->name, NULL);
+ res = probe_for_partial_name (gacpath, fullname, aname, status);
+ g_free (gacpath);
+ paths++;
+@@ -1908,7 +1908,7 @@
+ paths = extra_gac_paths;
+ while (!image && *paths) {
+ fullpath = g_build_path (G_DIR_SEPARATOR_S, *paths,
+- "lib", "mono", "gac", subpath, NULL);
++ "@MONOLIBDIR@", "mono", "gac", subpath, NULL);
+ image = mono_image_open (fullpath, NULL);
+ g_free (fullpath);
+ paths++;
+@@ -2058,7 +2058,7 @@
+ if (extra_gac_paths) {
+ paths = extra_gac_paths;
+ while (!result && *paths) {
+- fullpath = g_build_path (G_DIR_SEPARATOR_S, *paths, "lib", "mono", "gac", subpath, NULL);
++ fullpath = g_build_path (G_DIR_SEPARATOR_S, *paths, "@MONOLIBDIR@", "mono", "gac", subpath, NULL);
+ result = mono_assembly_open_full (fullpath, status, refonly);
+ g_free (fullpath);
+ paths++;
+--- mono-1.1.16.1/mcs/tools/gacutil/driver.cs.libdir 2006-08-17 15:40:14.000000000 +0200
++++ mono-1.1.16.1/mcs/tools/gacutil/driver.cs 2006-08-17 15:40:19.000000000 +0200
+@@ -667,7 +667,7 @@
+ private static string EnsureLib (string dir)
+ {
+ DirectoryInfo d = new DirectoryInfo (dir);
+- if (d.Name == "lib")
++ if (d.Name == "lib" || d.Name == "@MONOLIBDIR@")
+ return dir;
+ return Path.Combine (dir, "lib");
+ }
diff --git a/dev-lang/mono/files/mono-2.2-ppc-threading.patch b/dev-lang/mono/files/mono-2.2-ppc-threading.patch
new file mode 100644
index 000000000000..ca999f675f17
--- /dev/null
+++ b/dev-lang/mono/files/mono-2.2-ppc-threading.patch
@@ -0,0 +1,21 @@
+#Binds ppc to use only one core to workaround threading problems for ppc.
+http://cvs.fedoraproject.org/viewvc/rpms/mono/devel/mono-2.2-ppc-threading.patch?view=log
+
+--- mono-2.2/mono/mini/main.c 2008-11-18 19:00:26.000000000 +0000
++++ mono-2.2/mono/mini/main-new.c 2008-11-18 19:16:11.000000000 +0000
+@@ -26,10 +26,14 @@
+ }
+
+ #else
+-
++#include <sched.h>
+ int
+ main (int argc, char* argv[])
+ {
++#ifdef __powerpc__
++ unsigned long mask = 1;
++ sched_setaffinity(0, sizeof(mask), &mask);
++#endif
+ mono_build_date = build_date;
+ return mono_main (argc, argv);
+ }
diff --git a/dev-lang/mono/files/mono-2.2-uselibdir.patch b/dev-lang/mono/files/mono-2.2-uselibdir.patch
new file mode 100644
index 000000000000..f6d9615a1fc5
--- /dev/null
+++ b/dev-lang/mono/files/mono-2.2-uselibdir.patch
@@ -0,0 +1,18 @@
+#Fixes problem with monodoc and libdir
+http://cvs.fedoraproject.org/viewvc/rpms/mono/devel/mono-2.2-uselibdir.patch?view=log
+
+--- mono-2.0/mcs/class/Microsoft.Build.Utilities/Mono.XBuild.Utilities/MonoLocationHelper.cs 2008-08-03 07:58:47.000000000 +0100
++++ mono-2.0/mcs/class/Microsoft.Build.Utilities/Mono.XBuild.Utilities/MonoLocationHelper-new.cs 2008-08-03 08:06:47.000000000 +0100
+@@ -53,10 +53,10 @@
+ //xbuildDir = Path.Combine (t2.FullName, "xbuild");
+ // /usr/local/lib
+ t3 = t2.Parent;
++ libDir = t3.FullName;
+ // /usr/local
+ t4 = t3.Parent;
+ binDir = Path.Combine (t4.FullName, "bin");
+- libDir = Path.Combine (t4.FullName, "lib");
+ }
+
+ internal static string GetBinDir ()
+
diff --git a/dev-lang/mono/metadata.xml b/dev-lang/mono/metadata.xml
index 206d50450c76..277d2c018bbb 100644
--- a/dev-lang/mono/metadata.xml
+++ b/dev-lang/mono/metadata.xml
@@ -2,5 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>dotnet</herd>
-<use><flag name='moonlight'>add moonlight support</flag></use>
+ <use>
+ <flag name='xen'>Make mono generate code that is considerably faster on xen VMs but slightly slower on for normal systems.</flag>
+ <flag name='moonlight'>Generate Moonlight 2.1 assemblies</flag>
+ </use>
</pkgmetadata>
diff --git a/dev-lang/mono/mono-1.9.1.ebuild b/dev-lang/mono/mono-1.9.1.ebuild
deleted file mode 100644
index 0711ff1b02b6..000000000000
--- a/dev-lang/mono/mono-1.9.1.ebuild
+++ /dev/null
@@ -1,124 +0,0 @@
-# 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.9.1.ebuild,v 1.3 2008/06/18 02:52:17 compnerd 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 moonlight"
-
-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.9 )"
-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}/${PN}-biginteger_overflow.diff"
- epatch "${FILESDIR}/${PN}-1.9.1-glibc-2.8-deprecated-arg-max.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} $(use_with moonlight) || 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
-}
diff --git a/dev-lang/mono/mono-2.0.1-r1.ebuild b/dev-lang/mono/mono-2.0.1-r1.ebuild
index b27fc704801d..0393876edf73 100644
--- a/dev-lang/mono/mono-2.0.1-r1.ebuild
+++ b/dev-lang/mono/mono-2.0.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2008 Gentoo Foundation
+# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/mono/mono-2.0.1-r1.ebuild,v 1.1 2008/12/25 23:06:13 loki_val Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mono/mono-2.0.1-r1.ebuild,v 1.2 2009/01/18 17:45:22 loki_val Exp $
EAPI=2
-inherit base eutils flag-o-matic multilib autotools
+inherit base eutils flag-o-matic multilib
DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter"
HOMEPAGE="http://www.go-mono.com"
diff --git a/dev-lang/mono/mono-2.0.1.ebuild b/dev-lang/mono/mono-2.0.1.ebuild
deleted file mode 100644
index 300d9ac06c89..000000000000
--- a/dev-lang/mono/mono-2.0.1.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# 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-2.0.1.ebuild,v 1.3 2008/11/24 23:56:14 loki_val Exp $
-
-EAPI=2
-
-inherit base eutils flag-o-matic multilib autotools
-
-DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter"
-HOMEPAGE="http://www.go-mono.com"
-SRC_URI="ftp://ftp.novell.com/pub/mono/sources/mono/${P}.tar.bz2"
-
-LICENSE="|| ( GPL-2 LGPL-2 X11 )"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~x86-fbsd"
-IUSE=""
-
-RDEPEND="!<dev-dotnet/pnet-0.6.12
- >=dev-libs/glib-2.6
- =dev-dotnet/libgdiplus-${PV%%.*}*
- ia64? ( sys-libs/libunwind )"
-
-DEPEND="${RDEPEND}
- sys-devel/bc
- >=dev-util/pkgconfig-0.19"
-PDEPEND="dev-dotnet/pe-format"
-
-RESTRICT="test"
-
-#Threading and mimeicon patches from Fedora CVS. Muine patch from Novell. Pointer conversions patch from Debian.
-
-PATCHES=( "${FILESDIR}/${PN}-biginteger_overflow.diff"
- "${FILESDIR}/${PN}-2.0-ppc-threading.patch"
- "${FILESDIR}/${PN}-2.0-mimeicon.patch"
- "${FILESDIR}/${P}-fix-wsdl-troubles-with-muine.patch"
- "${FILESDIR}/${P}-fix_implicit_pointer_conversions.patch" )
-
-src_configure() {
- # mono's build system is finiky, strip the flags
- strip-flags
-
- #Remove this at your own peril. Mono will barf in unexpected ways.
- append-flags -fno-strict-aliasing
-
- econf --disable-dependency-tracking \
- --without-moonlight \
- --with-preview=yes \
- --with-glib=system \
- --with-gc=included \
- --with-libgdiplus=installed \
- --with-tls=$(use arm && printf "pthread" || printf "__thread" ) \
- --with-sigaltstack=$((use x86 || use amd64) && printf "yes" || printf "no" ) \
- --with-ikvm-native=no \
- --with-jit=yes
-
- # dev-dotnet/ikvm provides ikvm-native
-}
-
-src_compile() {
- 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
-}
diff --git a/dev-lang/mono/mono-2.2.ebuild b/dev-lang/mono/mono-2.2.ebuild
new file mode 100644
index 000000000000..47255e75c91a
--- /dev/null
+++ b/dev-lang/mono/mono-2.2.ebuild
@@ -0,0 +1,170 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mono/mono-2.2.ebuild,v 1.1 2009/01/18 17:45:22 loki_val Exp $
+
+EAPI=2
+
+inherit mono eutils flag-o-matic multilib go-mono
+
+DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter"
+HOMEPAGE="http://www.go-mono.com"
+
+LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE="xen moonlight minimal"
+
+RDEPEND="!<dev-dotnet/pnet-0.6.12
+ !dev-util/monodoc
+ dev-libs/glib:2
+ !minimal? (
+ =dev-dotnet/libgdiplus-${GO_MONO_REL_PV}*
+ =dev-dotnet/gluezilla-${GO_MONO_REL_PV}*
+ )
+ ia64? (
+ sys-libs/libunwind
+ )"
+DEPEND="${RDEPEND}
+ sys-devel/bc"
+PDEPEND="dev-dotnet/pe-format"
+
+MAKEOPTS="${MAKEOPTS} -j1"
+
+RESTRICT="test"
+
+PATCHES=(
+ "${WORKDIR}/mono-2.2-libdir126.patch"
+ "${FILESDIR}/mono-2.2-ppc-threading.patch"
+ "${FILESDIR}/mono-2.2-uselibdir.patch"
+)
+
+src_prepare() {
+ sed -e "s:@MONOLIBDIR@:$(get_libdir):" \
+ < "${FILESDIR}"/mono-2.2-libdir126.patch \
+ > "${WORKDIR}"/mono-2.2-libdir126.patch ||
+ die "Sedding patch file failed"
+ go-mono_src_prepare
+}
+
+
+src_configure() {
+ # mono's build system is finiky, strip the flags
+ strip-flags
+
+ #Remove this at your own peril. Mono will barf in unexpected ways.
+ append-flags -fno-strict-aliasing
+
+ go-mono_src_configure \
+ --disable-quiet-build \
+ --with-preview \
+ --with-glib=system \
+ $(use_with moonlight) \
+ --with-libgdiplus=$(use minimal && printf "no" || printf "installed" ) \
+ $(use_with xen xen_opt) \
+ --without-ikvm-native \
+ --with-jit
+
+}
+
+src_test() {
+ vecho ">>> Test phase [check]: ${CATEGORY}/${PF}"
+
+ export MONO_REGISTRY_PATH="${T}/registry"
+ export XDG_DATA_HOME="${T}/data"
+ export MONO_SHARED_DIR="${T}/shared"
+ export XDG_CONFIG_HOME="${T}/config"
+ export HOME="${T}/home"
+
+ emake -j1 check
+}
+
+src_install() {
+ go-mono_src_install
+
+ docinto docs
+ dodoc docs/*
+
+ docinto libgc
+ dodoc libgc/ChangeLog
+
+ find "${D}"/usr/ -name '*nunit-docs*' -exec rm -rf '{}' '+' || die "Removing nunit .docs failed"
+
+ #Standardize install paths for eselect-nunit
+ local nunit_dir="/usr/$(get_libdir)/mono/nunit-mono-${PV}-internal"
+ dodir ${nunit_dir}
+ rm -f "${D}"/usr/bin/nunit-console*
+
+ for file in "${D}"/usr/$(get_libdir)/mono/1.0/nunit*.dll "${D}"/usr/$(get_libdir)/mono/1.0/nunit*.exe
+ do
+ dosym ../1.0/${file##*/} ${nunit_dir}/${file##*/}
+ done
+
+ make_wrapper "nunit-console" "mono ${nunit_dir}/nunit-console.exe" "" "" "${nunit_dir}"
+ dosym nunit-console "${nunit_dir}"/nunit-console2
+}
+
+
+
+# NOTICE: THE COPYRIGHT FILES IN THE TARBALL ARE UNCLEAR!
+# WHENEVER YOU THINK SOMETHING IS GPL-2+, IT'S ONLY GPL-2
+# UNLESS MIGUEL DE ICAZA HIMSELF SAYS OTHERWISE.
+
+# mono
+# The code we use is LGPL, but contributions must be made under the MIT/X11
+# license, so Novell can serve its paying customers. Exception is mono/man.
+# LICENSE="LGPL-2.1"
+
+ # mono/man
+ # LICENSE="MIT"
+
+# mcs/mcs
+# mcs/gmcs
+# LICENSE="GPL-2 MIT"
+
+# tests
+# LICENSE="MIT"
+
+# mcs/class
+# Except the listed exceptions:
+# LICENSE="MIT"
+
+ # mcs/class/ByteFX.Data
+ # mcs/class/Npgsql
+ # LICENSE="LGPL-2.1"
+
+ # mcs/class/FirebirdSql.Data.Firebird
+ # LICENSE="IDPL"
+
+ # mcs/class/ICSharpCode.SharpZipLib
+ # LICENSE="GPL-2-with-linking-exception"
+
+ # mcs/class/MicrosoftAjaxLibrary
+ # LICENSE="Ms-Pl"
+
+ # mcs/class/Microsoft.JScript/Microsoft.JScript/TokenStream.cs
+ # mcs/class/Microsoft.JScript/Microsoft.JScript/Token.cs
+ # mcs/class/Microsoft.JScript/Microsoft.JScript/Parser.cs
+ # mcs/class/Microsoft.JScript/Microsoft.JScript/Decompiler.cs
+ # LICENSE="|| ( NPL-1.1 GPL-2 )"
+
+# mcs/jay
+# LICENSE="BSD-4"
+
+# mcs/tools
+# Except the listed exceptions:
+# LICENSE="MIT"
+
+ # mcs/tools/mdoc/Mono.Documentation/monodocs2html.cs
+ # LICENSE="GPL-2"
+
+ # mcs/tools/sqlsharp/SqlSharpCli.cs
+ # LICENSE="GPL-2"
+
+ # mcs/tools/csharp/repl.cs
+ # LICENSE="|| ( MIT GPL-2 )"
+
+ # mcs/tools/mono-win32-setup.nsi
+ # LICENSE="GPL-2"
+
+# samples
+# LICENSE="MIT"