From 3d2398166dc2a96123d22af315e2f2073f6bb32f Mon Sep 17 00:00:00 2001
From: Michael Hanson <hansonorders@verizon.net>
Date: Thu, 11 Nov 2010 20:18:01 +0000
Subject: mono: update to 2.8

---
 abs/extra/mono/PKGBUILD         | 43 +++++++++++++++++++----------------------
 abs/extra/mono/__changelog      |  1 +
 abs/extra/mono/mini_amd64.patch | 13 +++++++++++++
 3 files changed, 34 insertions(+), 23 deletions(-)
 create mode 100644 abs/extra/mono/mini_amd64.patch

diff --git a/abs/extra/mono/PKGBUILD b/abs/extra/mono/PKGBUILD
index 94ad05a..bd9bf3b 100644
--- a/abs/extra/mono/PKGBUILD
+++ b/abs/extra/mono/PKGBUILD
@@ -1,47 +1,44 @@
-# $Id: PKGBUILD 25123 2009-01-23 17:05:04Z daniel $
+# $Id: PKGBUILD 95334 2010-10-18 17:54:25Z daniel $
 # Maintainer: Daniel Isenmann <daniel@archlinux.org>
 # Contributor: Brice Carpentier <brice@dlfp.org>
 
 pkgname=mono
-pkgver=2.2
+pkgver=2.8
 pkgrel=1
 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.2')
-makedepends=('pkgconfig' 'bison')
+depends=('zlib' 'libgdiplus>=2.8' 'sh')
+makedepends=('pkgconfig')
 options=('!libtool' '!makeflags')
 provides=('monodoc')
 conflicts=('monodoc')
-source=(http://www.go-mono.com/sources/${pkgname}/${pkgname}-${pkgver}.tar.bz2
+source=(http://ftp.novell.com/pub/mono/sources/${pkgname}/${pkgname}-${pkgver}.tar.bz2
         mono.rc.d)
-md5sums=('da147e24d14a73d8ad52775dd4a3d165'
+md5sums=('30b1180e20e5110d3fb36147137014a0'
          '8315e46c6a6e9625502521fc0ad1a322')
 
 build() {
-  # get rid of that .wapi errors; thanks to brice
-  export MONO_SHARED_DIR=${startdir}/src/weird
-  mkdir -p "${MONO_SHARED_DIR}"
-  mkdir -p ${startdir}/pkg/usr/share/licenses/$pkgname
+  cd ${srcdir}/${pkgname}-${pkgver}
   # build mono
-  cd ${startdir}/src/${pkgname}-${pkgver}
-  rm -f libgc/libtool.m4
-  autoreconf --force --install
-  autoreconf --force --install libgc
   ./configure --prefix=/usr --sysconfdir=/etc \
-              --with-libgdiplus=installed --with-icu=no \
-              --with-tls=pthread --with-jit=yes --with-preview=yes \
-              --with-sigaltstack=yes --enable-nunit-tests \
-	      --with-moonlight=yes
+              --with-libgdiplus=installed 
   make || return 1
-  sed -i "/NO_INSTALL = yes/d" mcs/nunit20/nunit-console/Makefile
-  make DESTDIR=${startdir}/pkg install
+}
+
+package() {
+  cd ${srcdir}/${pkgname}-${pkgver}
+  make DESTDIR=${pkgdir} install || return 1
 
   # install daemons and pathes
-  mkdir -p ${startdir}/pkg/etc/rc.d
-  install -m755 ${startdir}/src/mono.rc.d $startdir/pkg/etc/rc.d/mono
+  mkdir -p ${pkgdir}/etc/rc.d
+  install -m755 ${srcdir}/mono.rc.d ${pkgdir}/etc/rc.d/mono
 
   #install license
-  install -m644 mcs/MIT.X11 ${startdir}/pkg/usr/share/licenses/$pkgname/
+  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
 }
diff --git a/abs/extra/mono/__changelog b/abs/extra/mono/__changelog
index 254c863..8ed76c2 100644
--- a/abs/extra/mono/__changelog
+++ b/abs/extra/mono/__changelog
@@ -1 +1,2 @@
 add bison as a make depends
+update to 2.8
diff --git a/abs/extra/mono/mini_amd64.patch b/abs/extra/mono/mini_amd64.patch
new file mode 100644
index 0000000..f8685c3
--- /dev/null
+++ b/abs/extra/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;
+ 	}
+
+ 			
-- 
cgit v0.12