summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkefren <kefren@pkgsrc.org>2010-10-04 06:09:28 +0000
committerkefren <kefren@pkgsrc.org>2010-10-04 06:09:28 +0000
commit70e84fe046f40a072bc346f195c05831a19da67e (patch)
tree0721f45e175c8d068ba26b757c3041319adbbd97
parent4c131a6cda7746526c0742baac8b5a50fbc14f40 (diff)
downloadpkgsrc-70e84fe046f40a072bc346f195c05831a19da67e.tar.gz
Add a hack for fixing Thread.Context as proposed on packages@. This makes
monodevelop work again. PKGREVISION++. Ok'd wiz@
-rw-r--r--lang/mono/Makefile3
-rw-r--r--lang/mono/distinfo3
-rw-r--r--lang/mono/patches/patch-cc33
3 files changed, 37 insertions, 2 deletions
diff --git a/lang/mono/Makefile b/lang/mono/Makefile
index 0af6d78c94e..16d013984e8 100644
--- a/lang/mono/Makefile
+++ b/lang/mono/Makefile
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.103 2010/07/31 08:40:37 kefren Exp $
+# $NetBSD: Makefile,v 1.104 2010/10/04 06:09:28 kefren Exp $
DISTNAME= mono-2.6.7
+PKGREVISION= 1
CATEGORIES= lang
MASTER_SITES= http://ftp.novell.com/pub/mono/sources/mono/
EXTRACT_SUFX= .tar.bz2
diff --git a/lang/mono/distinfo b/lang/mono/distinfo
index 320f76f5293..78921209d83 100644
--- a/lang/mono/distinfo
+++ b/lang/mono/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.65 2010/09/23 05:38:15 obache Exp $
+$NetBSD: distinfo,v 1.66 2010/10/04 06:09:28 kefren Exp $
SHA1 (mono-2.6.7.tar.bz2) = 6528c009d344a21eb0898876369222a7fff76838
RMD160 (mono-2.6.7.tar.bz2) = 5825ad284e4123e4ddb8933637a3dbf5f57f7f5a
@@ -27,6 +27,7 @@ SHA1 (patch-bh) = a42432fd8ed92e2213fbcd24bf29c2b6d4cbd8ba
SHA1 (patch-bi) = 91786c858b459cd6b5a0dc683b5bdefc412973c1
SHA1 (patch-ca) = f5c54525d70b185f9fcb28f82034c4e995395c0b
SHA1 (patch-cb) = eaf041b83af24afc4d82d5088a01f98810a1de69
+SHA1 (patch-cc) = 97b247ea353c6b0e08b96bdf0e6de74c5dcb60ef
SHA1 (patch-ce) = ba1ae96ab63fe798ce781f0def5fe026d1776df0
SHA1 (patch-da) = 877ed8ec92ec25686c5a9a59db107f122d49035d
SHA1 (patch-db) = 2b11ad4e37c4487f53c34b4ac85a526c31af3292
diff --git a/lang/mono/patches/patch-cc b/lang/mono/patches/patch-cc
new file mode 100644
index 00000000000..5c3d84a64c2
--- /dev/null
+++ b/lang/mono/patches/patch-cc
@@ -0,0 +1,33 @@
+$NetBSD: patch-cc,v 1.4 2010/10/04 06:09:29 kefren Exp $
+
+Currently mono is not copying the domain default context for some of
+the newly created threads. This leads to some problems with programs
+that use remoting stack, for example monodevelop that is unusable -
+it doesn't compile and run projects. The following hack fixes the
+issue until further investigations for pkgsrc-2010Q3 release.
+
+Bug tracking: https://bugzilla.novell.com/show_bug.cgi?id=599485
+
+
+--- mono/metadata/domain.c.old 2010-10-03 20:58:27.000000000 +0300
++++ mono/metadata/domain.c 2010-10-03 21:03:13.000000000 +0300
+@@ -2154,7 +2154,18 @@ mono_context_set (MonoAppContext * new_c
+ MonoAppContext *
+ mono_context_get (void)
+ {
+- return GET_APPCONTEXT ();
++ MonoAppContext *retval = GET_APPCONTEXT();
++#ifdef __NetBSD__
++ /*
++ * We gotta find out why context is sometime NULL for newly threads
++ * Until then use default context if it's not set
++ */
++ if(retval == NULL) {
++ retval = ves_icall_System_AppDomain_InternalGetDefaultContext();
++ mono_context_set(retval);
++ }
++#endif
++ return retval;
+ }
+
+ /* LOCKING: the caller holds the lock for this domain */