summaryrefslogtreecommitdiffstats
path: root/abs/extra/mono
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra/mono')
-rw-r--r--abs/extra/mono/PKGBUILD47
-rw-r--r--abs/extra/mono/__changelog1
-rw-r--r--abs/extra/mono/bug434892.patch11
-rw-r--r--abs/extra/mono/mono.rc.d35
4 files changed, 94 insertions, 0 deletions
diff --git a/abs/extra/mono/PKGBUILD b/abs/extra/mono/PKGBUILD
new file mode 100644
index 0000000..94ad05a
--- /dev/null
+++ b/abs/extra/mono/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 25123 2009-01-23 17:05:04Z daniel $
+# Maintainer: Daniel Isenmann <daniel@archlinux.org>
+# Contributor: Brice Carpentier <brice@dlfp.org>
+
+pkgname=mono
+pkgver=2.2
+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')
+options=('!libtool' '!makeflags')
+provides=('monodoc')
+conflicts=('monodoc')
+source=(http://www.go-mono.com/sources/${pkgname}/${pkgname}-${pkgver}.tar.bz2
+ mono.rc.d)
+md5sums=('da147e24d14a73d8ad52775dd4a3d165'
+ '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
+ # 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
+ make || return 1
+ sed -i "/NO_INSTALL = yes/d" mcs/nunit20/nunit-console/Makefile
+ make DESTDIR=${startdir}/pkg install
+
+ # install daemons and pathes
+ mkdir -p ${startdir}/pkg/etc/rc.d
+ install -m755 ${startdir}/src/mono.rc.d $startdir/pkg/etc/rc.d/mono
+
+ #install license
+ install -m644 mcs/MIT.X11 ${startdir}/pkg/usr/share/licenses/$pkgname/
+}
diff --git a/abs/extra/mono/__changelog b/abs/extra/mono/__changelog
new file mode 100644
index 0000000..254c863
--- /dev/null
+++ b/abs/extra/mono/__changelog
@@ -0,0 +1 @@
+add bison as a make depends
diff --git a/abs/extra/mono/bug434892.patch b/abs/extra/mono/bug434892.patch
new file mode 100644
index 0000000..d4f46f6
--- /dev/null
+++ b/abs/extra/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/abs/extra/mono/mono.rc.d b/abs/extra/mono/mono.rc.d
new file mode 100644
index 0000000..548cc2d
--- /dev/null
+++ b/abs/extra/mono/mono.rc.d
@@ -0,0 +1,35 @@
+#!/bin/bash
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+ start)
+ stat_busy "Registering .NET IL binaries with mono"
+ if [ ! -d /proc/sys/fs/binfmt_misc ]; then
+ stat_die "You need support for \"misc binaries\" in your kernel!"
+ fi
+ mount | grep -q binfmt_misc
+ if [ $? != 0 ]; then
+ mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc
+ if [ $? != 0 ]; then
+ stat_die
+ fi
+ fi
+ echo ':CLR:M::MZ::/usr/bin/mono:' > /proc/sys/fs/binfmt_misc/register
+ stat_done
+ ;;
+ stop)
+
+ stat_busy "Unregistering .NET IL binaries"
+ if [ -f /proc/sys/fs/binfmt_misc/CLR ]; then
+ echo '-1' > /proc/sys/fs/binfmt_misc/CLR
+ fi
+ stat_done
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac