diff --git a/mono-2.8.1.tar.bz2 b/mono-2.8.1.tar.bz2
new file mode 100644
index 0000000..71176f5
Binary files /dev/null and b/mono-2.8.1.tar.bz2 differ
diff --git a/mono-281-libgdiplusconfig.patch b/mono-281-libgdiplusconfig.patch
new file mode 100644
index 0000000..6999884
--- /dev/null
+++ b/mono-281-libgdiplusconfig.patch
@@ -0,0 +1,10 @@
+--- mono-2.8.1/data/config.in 2010-11-12 10:24:41.000000000 +0000
++++ mono-2.8.1/data/config-new.in 2010-11-23 12:57:48.145908362 +0000
+@@ -15,6 +15,7 @@
+
+
+
++
+
+
+
diff --git a/mono-281-moonlightbuild.patch b/mono-281-moonlightbuild.patch
new file mode 100644
index 0000000..b8a6172
--- /dev/null
+++ b/mono-281-moonlightbuild.patch
@@ -0,0 +1,14 @@
+--- mono-2.8.1/mcs/class/System/System.Net.Sockets/Socket_2_1.cs 2010-11-12 10:24:41.000000000 +0000
++++ mono-2.8.1/mcs/class/System/System.Net.Sockets/Socket_2_1-new.cs 2010-11-24 19:45:15.538121958 +0000
+@@ -485,7 +485,11 @@
+ throw new ArgumentNullException ("remoteEP");
+
+ IPEndPoint ep = remoteEP as IPEndPoint;
++#if !MOONLIGHT
+ if (ep != null && socket_type != SocketType.Dgram) /* Dgram uses Any to 'disconnect' */
++#else
++ if(ep != null)
++#endif
+ if (ep.Address.Equals (IPAddress.Any) || ep.Address.Equals (IPAddress.IPv6Any))
+ throw new SocketException ((int) SocketError.AddressNotAvailable);
+