summaryrefslogtreecommitdiff
path: root/testing/mono
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-10-07 00:37:20 -0700
committerroot <root@rshg054.dnsready.net>2012-10-07 00:37:20 -0700
commit682e4a12f537d598cb116ba394ceeae1eafc281e (patch)
treeb48c04d80686157d339741b922053c2e88b15d68 /testing/mono
parente7552010f531ef1b114352f0ce71a307360bf1d4 (diff)
Sun Oct 7 00:37:16 PDT 2012
Diffstat (limited to 'testing/mono')
-rw-r--r--testing/mono/PKGBUILD52
-rw-r--r--testing/mono/bug434892.patch11
-rw-r--r--testing/mono/mini_amd64.patch13
-rw-r--r--testing/mono/mono.binfmt.d1
4 files changed, 77 insertions, 0 deletions
diff --git a/testing/mono/PKGBUILD b/testing/mono/PKGBUILD
new file mode 100644
index 000000000..742e6053b
--- /dev/null
+++ b/testing/mono/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 168257 2012-10-06 23:53:27Z tomegun $
+# Maintainer: Daniel Isenmann <daniel@archlinux.org>
+# Contributor: Brice Carpentier <brice@dlfp.org>
+
+pkgname=mono
+pkgver=2.10.8
+pkgrel=2
+pkgdesc="Free implementation of the .NET platform including runtime and compiler"
+arch=(i686 x86_64)
+license=('GPL' 'LGPL2' 'MPL' 'custom:MITX11')
+url="http://www.mono-project.com/"
+depends=('zlib' 'libgdiplus>=2.10' 'sh')
+makedepends=('pkgconfig')
+options=('!libtool' '!makeflags')
+provides=('monodoc')
+conflicts=('monodoc')
+source=(http://download.mono-project.com/sources/${pkgname}/${pkgname}-${pkgver}.tar.gz
+ mono.binfmt.d)
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ # build mono
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --with-libgdiplus=installed
+ make || return 1
+
+ # build jay
+ cd ${srcdir}/${pkgname}-${pkgver}/mcs/jay
+ make || return 1
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install || return 1
+
+ # install jay
+ cd ${srcdir}/${pkgname}-${pkgver}/mcs/jay
+ make DESTDIR=${pkgdir} prefix=/usr INSTALL=../../install-sh install
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ # install binfmt conf file and pathes
+ install -D -m644 ${srcdir}/mono.binfmt.d ${pkgdir}/usr/lib/binfmt.d/mono.conf
+
+ #install license
+ mkdir -p ${pkgdir}/usr/share/licenses/${pkgname}
+ install -m644 mcs/MIT.X11 ${pkgdir}/usr/share/licenses/${pkgname}/
+
+ #fix .pc file to be able to request mono on what it depends, fixes #go-oo build
+ sed -i -e "s:#Requires:Requires:" ${pkgdir}/usr/lib/pkgconfig/mono.pc
+}
+md5sums=('411a2d9bcfc37a61eb9aedba88b40533'
+ 'b9ef8a65fea497acf176cca16c1e2402')
diff --git a/testing/mono/bug434892.patch b/testing/mono/bug434892.patch
new file mode 100644
index 000000000..d4f46f68c
--- /dev/null
+++ b/testing/mono/bug434892.patch
@@ -0,0 +1,11 @@
+--- trunk/mcs/class/System.Web.Services/System.Web.Services.Description/BasicProfileChecker.cs 2008/07/01 20:17:46 107006
++++ trunk/mcs/class/System.Web.Services/System.Web.Services.Description/BasicProfileChecker.cs 2008/10/28 09:32:46 117243
+@@ -177,7 +177,7 @@
+ foreach (OperationMessage om in op.Messages) {
+ Message msg = ctx.Services.GetMessage (om.Message);
+ foreach (MessagePart part in msg.Parts)
+- parts.Add (part,part);
++ parts [part] = part; // do not use Add() - there could be the same MessagePart instance.
+ }
+ }
+
diff --git a/testing/mono/mini_amd64.patch b/testing/mono/mini_amd64.patch
new file mode 100644
index 000000000..f8685c337
--- /dev/null
+++ b/testing/mono/mini_amd64.patch
@@ -0,0 +1,13 @@
+--- mono/mini/mini-amd64.c 2009-03-19 21:08:18 UTC (rev 129824)
++++ mono/mini/mini-amd64.c 2009-03-19 21:09:53 UTC (rev 129825)
+@@ -1009,7 +1009,7 @@
+ locals_size += mono_type_size (ins->inst_vtype, &ialign);
+ }
+
+- if ((cfg->num_varinfo > 10000) || (locals_size >= (1 << 15))) {
++ if ((cfg->num_varinfo > 5000) || (locals_size >= (1 << 15)) || (header->code_size > 110000)) {
+ /* Avoid hitting the stack_alloc_size < (1 << 16) assertion in emit_epilog () */
+ cfg->arch.omit_fp = FALSE;
+ }
+
+
diff --git a/testing/mono/mono.binfmt.d b/testing/mono/mono.binfmt.d
new file mode 100644
index 000000000..3075b0dc5
--- /dev/null
+++ b/testing/mono/mono.binfmt.d
@@ -0,0 +1 @@
+:CLR:M::MZ::/usr/bin/mono: