add new mono version
git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/linamh@1476 6952d904-891a-0410-993b-d76249ca496b
This commit is contained in:
21
dev-lang/mono/files/mono-1.2-glibc28.patch
Normal file
21
dev-lang/mono/files/mono-1.2-glibc28.patch
Normal file
@@ -0,0 +1,21 @@
|
||||
http://anonsvn.mono-project.com/viewvc?view=rev&revision=101444
|
||||
https://bugs.gentoo.org/225409
|
||||
backport for glibc-2.8 stablization
|
||||
https://bugs.gentoo.org/show_bug.cgi?id=247553
|
||||
--- trunk/mono/mono/io-layer/wapi_glob.c 2008/04/22 14:29:40 101443
|
||||
+++ trunk/mono/mono/io-layer/wapi_glob.c 2008/04/22 14:44:10 101444
|
||||
@@ -299,11 +299,14 @@
|
||||
}
|
||||
pathv[pglob->gl_offs + pglob->gl_pathc] = NULL;
|
||||
|
||||
+#if 0
|
||||
+ /* Broken on opensuse 11 */
|
||||
if ((pglob->gl_flags & WAPI_GLOB_LIMIT) &&
|
||||
newsize + *limitp >= ARG_MAX) {
|
||||
errno = 0;
|
||||
return(WAPI_GLOB_NOSPACE);
|
||||
}
|
||||
+#endif
|
||||
|
||||
return(copy == NULL ? WAPI_GLOB_NOSPACE : 0);
|
||||
}
|
||||
18
dev-lang/mono/files/mono-1.2.4-pic.patch
Normal file
18
dev-lang/mono/files/mono-1.2.4-pic.patch
Normal file
@@ -0,0 +1,18 @@
|
||||
--- mono/utils/mono-compiler.h.orig 2007-02-06 09:17:09.000000000 +0100
|
||||
+++ mono/utils/mono-compiler.h 2007-02-06 09:56:15.000000000 +0100
|
||||
@@ -1,5 +1,15 @@
|
||||
#ifndef __UTILS_MONO_COMPILER_H__
|
||||
#define __UTILS_MONO_COMPILER_H__
|
||||
+
|
||||
+#if defined(__PIC__) && !defined(PIC)
|
||||
+/*
|
||||
+ * Must be compiling -fPIE, for executables. Build PIC
|
||||
+ * but with initial-exec.
|
||||
+ */
|
||||
+# define PIC
|
||||
+# define PIC_INITIAL_EXEC
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
* This file includes macros used in the runtime to encapsulate different
|
||||
* compiler behaviours.
|
||||
13
dev-lang/mono/files/mono-1.2.6-bug-347359.patch
Normal file
13
dev-lang/mono/files/mono-1.2.6-bug-347359.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
--- trunk/mcs/mcs/expression.cs 2007/12/22 13:17:22 91807
|
||||
+++ trunk/mcs/mcs/expression.cs 2007/12/23 13:29:15 91831
|
||||
@@ -4242,6 +4242,10 @@
|
||||
|
||||
public override Expression DoResolve (EmitContext ec)
|
||||
{
|
||||
+ // Don't resolve already resolved expression
|
||||
+ if (eclass != ExprClass.Invalid)
|
||||
+ return this;
|
||||
+
|
||||
Expression expr_resolved = expr.Resolve (ec, ResolveFlags.VariableOrValue | ResolveFlags.MethodGroup);
|
||||
if (expr_resolved == null)
|
||||
return null;
|
||||
@@ -0,0 +1,32 @@
|
||||
--- mono/metadata/threads.h 2007/12/20 00:38:27 1.1
|
||||
+++ mono/metadata/threads.h 2007/12/20 00:38:46
|
||||
@@ -14,7 +14,6 @@
|
||||
#include <mono/utils/mono-membar.h>
|
||||
#include <mono/metadata/object.h>
|
||||
#include <mono/metadata/appdomain.h>
|
||||
-#include <mono/metadata/threads-types.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
@@ -67,10 +66,6 @@ extern void mono_thread_interruption_che
|
||||
extern void mono_thread_force_interruption_checkpoint (void);
|
||||
extern gint32* mono_thread_interruption_request_flag (void);
|
||||
|
||||
-extern void mono_thread_set_state (MonoThread *thread, MonoThreadState state);
|
||||
-extern void mono_thread_clr_state (MonoThread *thread, MonoThreadState state);
|
||||
-extern gboolean mono_thread_test_state (MonoThread *thread, MonoThreadState test);
|
||||
-
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* _MONO_METADATA_THREADS_H_ */
|
||||
--- mono/metadata/threads-types.h 2007/12/20 00:38:32 1.1
|
||||
+++ mono/metadata/threads-types.h 2007/12/20 00:40:55
|
||||
@@ -157,4 +157,8 @@ extern MonoThreadHazardPointers* mono_ha
|
||||
(hp)->hazard_pointers [(i)] = NULL; \
|
||||
} while (0)
|
||||
|
||||
+extern void mono_thread_set_state (MonoThread *thread, MonoThreadState state) MONO_INTERNAL;
|
||||
+extern void mono_thread_clr_state (MonoThread *thread, MonoThreadState state) MONO_INTERNAL;
|
||||
+extern gboolean mono_thread_test_state (MonoThread *thread, MonoThreadState test) MONO_INTERNAL;
|
||||
+
|
||||
#endif /* _MONO_METADATA_THREADS_TYPES_H_ */
|
||||
152
dev-lang/mono/files/mono-2.0-fix-headless.patch
Normal file
152
dev-lang/mono/files/mono-2.0-fix-headless.patch
Normal file
@@ -0,0 +1,152 @@
|
||||
diff -NrU5 mono-2.0.1.orig/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TableLayoutPanel.cs mono-2.0.1/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TableLayoutPanel.cs
|
||||
--- mono-2.0.1.orig/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TableLayoutPanel.cs 2008-12-19 07:00:41.000000000 +0100
|
||||
+++ mono-2.0.1/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TableLayoutPanel.cs 2008-12-19 07:00:55.000000000 +0100
|
||||
@@ -131,10 +131,11 @@
|
||||
set {
|
||||
if (value.isSerialized) {
|
||||
// Serialized version doesn't calculate these.
|
||||
value.ColumnCount = value.ColumnStyles.Count;
|
||||
value.RowCount = value.RowStyles.Count;
|
||||
+ value.panel = this;
|
||||
|
||||
this.settings = value;
|
||||
value.isSerialized = false;
|
||||
} else
|
||||
throw new NotSupportedException ("LayoutSettings value cannot be set directly.");
|
||||
diff -NrU5 mono-2.0.1.orig/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TableLayoutSettings.cs mono-2.0.1/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TableLayoutSettings.cs
|
||||
--- mono-2.0.1.orig/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TableLayoutSettings.cs 2008-12-19 07:00:41.000000000 +0100
|
||||
+++ mono-2.0.1/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TableLayoutSettings.cs 2008-12-19 07:00:55.000000000 +0100
|
||||
@@ -46,11 +46,11 @@
|
||||
private int row_count;
|
||||
private Dictionary<Object, int> columns;
|
||||
private Dictionary<Object, int> column_spans;
|
||||
private Dictionary<Object, int> rows;
|
||||
private Dictionary<Object, int> row_spans;
|
||||
- private TableLayoutPanel panel;
|
||||
+ internal TableLayoutPanel panel;
|
||||
internal bool isSerialized;
|
||||
|
||||
#region Internal Constructor
|
||||
internal TableLayoutSettings (TableLayoutPanel panel)
|
||||
{
|
||||
@@ -132,11 +132,13 @@
|
||||
if (value < 0)
|
||||
throw new ArgumentOutOfRangeException ();
|
||||
|
||||
if (row_count != value) {
|
||||
row_count = value;
|
||||
- panel.PerformLayout (panel, "RowCount");
|
||||
+
|
||||
+ if (panel != null)
|
||||
+ panel.PerformLayout ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[DesignerSerializationVisibility (DesignerSerializationVisibility.Content)]
|
||||
@@ -223,55 +225,65 @@
|
||||
if (control == null)
|
||||
throw new ArgumentNullException ();
|
||||
|
||||
columns[control] = cellPosition.Column;
|
||||
rows[control] = cellPosition.Row;
|
||||
- panel.PerformLayout ();
|
||||
+
|
||||
+ if (panel != null)
|
||||
+ panel.PerformLayout ();
|
||||
}
|
||||
|
||||
public void SetColumn (Object control, int column)
|
||||
{
|
||||
if (control == null)
|
||||
throw new ArgumentNullException ();
|
||||
if (column < -1)
|
||||
throw new ArgumentException ();
|
||||
|
||||
columns[control] = column;
|
||||
- panel.PerformLayout ();
|
||||
+
|
||||
+ if (panel != null)
|
||||
+ panel.PerformLayout ();
|
||||
}
|
||||
|
||||
public void SetColumnSpan (Object control, int value)
|
||||
{
|
||||
if (control == null)
|
||||
throw new ArgumentNullException ();
|
||||
if (value < -1)
|
||||
throw new ArgumentException ();
|
||||
|
||||
column_spans[control] = value;
|
||||
- panel.PerformLayout ();
|
||||
+
|
||||
+ if (panel != null)
|
||||
+ panel.PerformLayout ();
|
||||
}
|
||||
|
||||
public void SetRow (Object control, int row)
|
||||
{
|
||||
if (control == null)
|
||||
throw new ArgumentNullException ();
|
||||
if (row < -1)
|
||||
throw new ArgumentException ();
|
||||
|
||||
rows[control] = row;
|
||||
- panel.PerformLayout ();
|
||||
+
|
||||
+ if (panel != null)
|
||||
+ panel.PerformLayout ();
|
||||
}
|
||||
|
||||
public void SetRowSpan (Object control, int value)
|
||||
{
|
||||
if (control == null)
|
||||
throw new ArgumentNullException ();
|
||||
if (value < -1)
|
||||
throw new ArgumentException ();
|
||||
|
||||
row_spans[control] = value;
|
||||
- panel.PerformLayout ();
|
||||
+
|
||||
+ if (panel != null)
|
||||
+ panel.PerformLayout ();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Internal Methods
|
||||
internal List<ControlInfo> GetControls ()
|
||||
diff -NrU5 mono-2.0.1.orig/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TableLayoutStyleCollection.cs mono-2.0.1/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TableLayoutStyleCollection.cs
|
||||
--- mono-2.0.1.orig/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TableLayoutStyleCollection.cs 2008-12-19 07:00:41.000000000 +0100
|
||||
+++ mono-2.0.1/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TableLayoutStyleCollection.cs 2008-12-19 07:00:55.000000000 +0100
|
||||
@@ -76,11 +76,14 @@
|
||||
if (layoutStyle.Owner != null)
|
||||
throw new ArgumentException ("Style is already owned");
|
||||
|
||||
layoutStyle.Owner = table;
|
||||
int result = al.Add (layoutStyle);
|
||||
- table.PerformLayout ();
|
||||
+
|
||||
+ if (table != null)
|
||||
+ table.PerformLayout ();
|
||||
+
|
||||
return result;
|
||||
}
|
||||
|
||||
bool IList.Contains (object style)
|
||||
{
|
||||
diff -NrU5 mono-2.0.1.orig/mcs/class/Managed.Windows.Forms/System.Windows.Forms.Layout/TableLayoutSettingsTypeConverter.cs mono-2.0.1/mcs/class/Managed.Windows.Forms/System.Windows.Forms.Layout/TableLayoutSettingsTypeConverter.cs
|
||||
--- mono-2.0.1.orig/mcs/class/Managed.Windows.Forms/System.Windows.Forms.Layout/TableLayoutSettingsTypeConverter.cs 2008-12-19 07:00:41.000000000 +0100
|
||||
+++ mono-2.0.1/mcs/class/Managed.Windows.Forms/System.Windows.Forms.Layout/TableLayoutSettingsTypeConverter.cs 2008-12-19 07:02:23.000000000 +0100
|
||||
@@ -117,11 +117,11 @@
|
||||
if (!(value is string))
|
||||
return base.ConvertFrom(context, culture, value);
|
||||
|
||||
XmlDocument xmldoc = new XmlDocument();
|
||||
xmldoc.LoadXml (value as string);
|
||||
- TableLayoutSettings settings = new TableLayoutSettings(new TableLayoutPanel ());
|
||||
+ TableLayoutSettings settings = new TableLayoutSettings(null);
|
||||
int count = ParseControl (xmldoc, settings);
|
||||
ParseColumnStyle (xmldoc, settings);
|
||||
ParseRowStyle (xmldoc, settings);
|
||||
settings.RowCount = count;
|
||||
|
||||
54
dev-lang/mono/files/mono-2.0-mimeicon.patch
Normal file
54
dev-lang/mono/files/mono-2.0-mimeicon.patch
Normal file
@@ -0,0 +1,54 @@
|
||||
--- mono-2.0/mcs/class/Managed.Windows.Forms/System.Windows.Forms/MimeIcon.cs 2008-09-02 16:46:50.000000000 +0100
|
||||
+++ mono-2.0/mcs/class/Managed.Windows.Forms/System.Windows.Forms/MimeIcon-new.cs 2008-09-18 23:29:05.000000000 +0100
|
||||
@@ -358,11 +358,12 @@
|
||||
if (internal_mime_type == "harddisk/harddisk" || internal_mime_type == "cdrom/cdrom" || internal_mime_type == "removable/removable")
|
||||
image = ResourceImageLoader.Get ("text-x-generic.png");
|
||||
}
|
||||
-
|
||||
- index = MimeIconEngine.SmallIcons.Images.Add (image, Color.Transparent);
|
||||
- MimeIconEngine.LargeIcons.Images.Add (image, Color.Transparent);
|
||||
-
|
||||
- MimeIconEngine.MimeIconIndex.Add (internal_mime_type, index);
|
||||
+
|
||||
+ if (image != null) {
|
||||
+ index = MimeIconEngine.SmallIcons.Images.Add (image, Color.Transparent);
|
||||
+ MimeIconEngine.LargeIcons.Images.Add (image, Color.Transparent);
|
||||
+ MimeIconEngine.MimeIconIndex.Add (internal_mime_type, index);
|
||||
+ }
|
||||
}
|
||||
|
||||
public override object AddAndGetIconIndex (string filename, string mime_type)
|
||||
@@ -370,11 +371,11 @@
|
||||
int index = -1;
|
||||
|
||||
Image image = GnomeUtil.GetIcon (filename, mime_type, 48);
|
||||
-
|
||||
- index = MimeIconEngine.SmallIcons.Images.Add (image, Color.Transparent);
|
||||
- MimeIconEngine.LargeIcons.Images.Add (image, Color.Transparent);
|
||||
-
|
||||
- MimeIconEngine.MimeIconIndex.Add (mime_type, index);
|
||||
+ if (image != null) {
|
||||
+ index = MimeIconEngine.SmallIcons.Images.Add (image, Color.Transparent);
|
||||
+ MimeIconEngine.LargeIcons.Images.Add (image, Color.Transparent);
|
||||
+ MimeIconEngine.MimeIconIndex.Add (mime_type, index);
|
||||
+ }
|
||||
|
||||
return index;
|
||||
}
|
||||
@@ -384,11 +385,11 @@
|
||||
int index = -1;
|
||||
|
||||
Image image = GnomeUtil.GetIcon (mime_type, 48);
|
||||
-
|
||||
- index = MimeIconEngine.SmallIcons.Images.Add (image, Color.Transparent);
|
||||
- MimeIconEngine.LargeIcons.Images.Add (image, Color.Transparent);
|
||||
-
|
||||
- MimeIconEngine.MimeIconIndex.Add (mime_type, index);
|
||||
+ if (image != null) {
|
||||
+ index = MimeIconEngine.SmallIcons.Images.Add (image, Color.Transparent);
|
||||
+ MimeIconEngine.LargeIcons.Images.Add (image, Color.Transparent);
|
||||
+ MimeIconEngine.MimeIconIndex.Add (mime_type, index);
|
||||
+ }
|
||||
|
||||
return index;
|
||||
}
|
||||
20
dev-lang/mono/files/mono-2.0-ppc-threading.patch
Normal file
20
dev-lang/mono/files/mono-2.0-ppc-threading.patch
Normal file
@@ -0,0 +1,20 @@
|
||||
--- mono-2.0/mono/mini/main.c 2008-08-03 07:49:23.000000000 +0100
|
||||
+++ mono-2.0/mono/mini/main-new.c 2008-08-03 07:55:10.000000000 +0100
|
||||
@@ -23,10 +23,16 @@
|
||||
}
|
||||
|
||||
#else
|
||||
-
|
||||
+#include <sched.h>
|
||||
int
|
||||
main (int argc, char* argv[])
|
||||
{
|
||||
+ /* On PowerPC call sched_setaffinity to bind to one CPU only
|
||||
+ * to work around parallelism bug on G5 SMP */
|
||||
+ #ifdef __powerpc__
|
||||
+ unsigned long mask = 1;
|
||||
+ sched_setaffinity(0, sizeof(mask), &mask);
|
||||
+ #endif
|
||||
return mono_main (argc, argv);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
--- mcs/class/System.Web.Services/System.Web.Services.Description/BasicProfileChecker.cs 2008/10/28 09:09:03 117242
|
||||
+++ 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.
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
#! /bin/sh /usr/share/dpatch/dpatch-run
|
||||
## fix_implicit_pointer_conversions.dpatch by Mirco Bauer <meebey@debian.org>
|
||||
##
|
||||
## All lines beginning with `## DP:' are a description of the patch.
|
||||
## DP: No description.
|
||||
|
||||
@DPATCH@
|
||||
diff -urNad mono-1.2.6~/mono/metadata/security.c mono-1.2.6/mono/metadata/security.c
|
||||
--- mono-1.2.6~/mono/metadata/security.c 2007-11-08 23:07:19.000000000 +0100
|
||||
+++ mono-1.2.6/mono/metadata/security.c 2007-12-24 15:54:02.000000000 +0100
|
||||
@@ -12,6 +12,7 @@
|
||||
#endif
|
||||
|
||||
#include <mono/metadata/appdomain.h>
|
||||
+#include <mono/metadata/assembly.h>
|
||||
#include <mono/metadata/image.h>
|
||||
#include <mono/metadata/exception.h>
|
||||
#include <mono/metadata/object-internals.h>
|
||||
20
dev-lang/mono/files/mono-2.2-freebsd-elf_common.patch
Normal file
20
dev-lang/mono/files/mono-2.2-freebsd-elf_common.patch
Normal file
@@ -0,0 +1,20 @@
|
||||
--- mono/utils/freebsd-elf_common.h.orig 2009-02-12 10:56:14.604852206 +0100
|
||||
+++ mono/utils/freebsd-elf_common.h 2009-02-12 10:56:52.034748775 +0100
|
||||
@@ -42,10 +42,14 @@
|
||||
* not include the padding.
|
||||
*/
|
||||
|
||||
+/*
|
||||
+ * Patched acording to: http://lists.ximian.com/pipermail/mono-patches/2009-January/138782.html
|
||||
+ */
|
||||
+
|
||||
typedef struct {
|
||||
- u_int32_t n_namesz; /* Length of name. */
|
||||
- u_int32_t n_descsz; /* Length of descriptor. */
|
||||
- u_int32_t n_type; /* Type of this note. */
|
||||
+ uint32_t n_namesz; /* Length of name. */
|
||||
+ uint32_t n_descsz; /* Length of descriptor. */
|
||||
+ uint32_t n_type; /* Type of this note. */
|
||||
} Elf_Note;
|
||||
|
||||
/* Indexes into the e_ident array. Keep synced with
|
||||
68
dev-lang/mono/files/mono-2.2-libdir126.patch
Normal file
68
dev-lang/mono/files/mono-2.2-libdir126.patch
Normal file
@@ -0,0 +1,68 @@
|
||||
# Allows us to use lib64/lib32 as path for GAC. Snatched from Fedora,
|
||||
# altered to be easily sedded.
|
||||
# Sed this file to have the proper libdir:
|
||||
# sed -i -e "s:@MONOLIBDIR@:$(get_libdir):" FILENAME
|
||||
# http://cvs.fedoraproject.org/viewvc/rpms/mono/devel/mono-libdir-126.patch?view=log
|
||||
|
||||
Index: mono-1.1.16/mcs/tools/cilc/res-Makefile
|
||||
===================================================================
|
||||
--- mono-1.1.16.orig/mcs/tools/cilc/res-Makefile
|
||||
+++ mono-1.1.16/mcs/tools/cilc/res-Makefile
|
||||
@@ -2,7 +2,7 @@ include defs.mk
|
||||
|
||||
LIBNAME = $(shell echo $(basename $(SONAME)) | sed -e 's/^lib//')
|
||||
HTARGET = $(prefix)/include/$(LIBNAME)/
|
||||
-LIBTARGET = $(prefix)/lib/
|
||||
+LIBTARGET = $(libdir)
|
||||
|
||||
CFLAGS += -static -fpic $(shell pkg-config --cflags glib-2.0 gobject-2.0 mono) $(EXTRAINCLUDES) -I.
|
||||
|
||||
--- mono-1.1.16.1/mono/metadata/assembly.c.libdir 2006-08-17 17:52:42.000000000 +0200
|
||||
+++ mono-1.1.16.1/mono/metadata/assembly.c 2006-08-17 17:56:21.000000000 +0200
|
||||
@@ -521,7 +521,7 @@
|
||||
}
|
||||
|
||||
config = g_build_filename (base, "etc", NULL);
|
||||
- lib = g_build_filename (base, "lib", NULL);
|
||||
+ lib = g_build_filename (base, "@MONOLIBDIR@", NULL);
|
||||
mono = g_build_filename (lib, "mono/1.0", NULL);
|
||||
if (stat (mono, &buf) == -1)
|
||||
fallback ();
|
||||
@@ -1844,7 +1844,7 @@
|
||||
if (extra_gac_paths) {
|
||||
paths = extra_gac_paths;
|
||||
while (!res && *paths) {
|
||||
- gacpath = g_build_path (G_DIR_SEPARATOR_S, *paths, "lib", "mono", "gac", aname->name, NULL);
|
||||
+ gacpath = g_build_path (G_DIR_SEPARATOR_S, *paths, "@MONOLIBDIR@", "mono", "gac", aname->name, NULL);
|
||||
res = probe_for_partial_name (gacpath, fullname, aname, status);
|
||||
g_free (gacpath);
|
||||
paths++;
|
||||
@@ -1908,7 +1908,7 @@
|
||||
paths = extra_gac_paths;
|
||||
while (!image && *paths) {
|
||||
fullpath = g_build_path (G_DIR_SEPARATOR_S, *paths,
|
||||
- "lib", "mono", "gac", subpath, NULL);
|
||||
+ "@MONOLIBDIR@", "mono", "gac", subpath, NULL);
|
||||
image = mono_image_open (fullpath, NULL);
|
||||
g_free (fullpath);
|
||||
paths++;
|
||||
@@ -2058,7 +2058,7 @@
|
||||
if (extra_gac_paths) {
|
||||
paths = extra_gac_paths;
|
||||
while (!result && *paths) {
|
||||
- fullpath = g_build_path (G_DIR_SEPARATOR_S, *paths, "lib", "mono", "gac", subpath, NULL);
|
||||
+ fullpath = g_build_path (G_DIR_SEPARATOR_S, *paths, "@MONOLIBDIR@", "mono", "gac", subpath, NULL);
|
||||
result = mono_assembly_open_full (fullpath, status, refonly);
|
||||
g_free (fullpath);
|
||||
paths++;
|
||||
--- mono-1.1.16.1/mcs/tools/gacutil/driver.cs.libdir 2006-08-17 15:40:14.000000000 +0200
|
||||
+++ mono-1.1.16.1/mcs/tools/gacutil/driver.cs 2006-08-17 15:40:19.000000000 +0200
|
||||
@@ -667,7 +667,7 @@
|
||||
private static string EnsureLib (string dir)
|
||||
{
|
||||
DirectoryInfo d = new DirectoryInfo (dir);
|
||||
- if (d.Name == "lib")
|
||||
+ if (d.Name == "lib" || d.Name == "@MONOLIBDIR@")
|
||||
return dir;
|
||||
return Path.Combine (dir, "lib");
|
||||
}
|
||||
21
dev-lang/mono/files/mono-2.2-ppc-threading.patch
Normal file
21
dev-lang/mono/files/mono-2.2-ppc-threading.patch
Normal file
@@ -0,0 +1,21 @@
|
||||
#Binds ppc to use only one core to workaround threading problems for ppc.
|
||||
http://cvs.fedoraproject.org/viewvc/rpms/mono/devel/mono-2.2-ppc-threading.patch?view=log
|
||||
|
||||
--- mono-2.2/mono/mini/main.c 2008-11-18 19:00:26.000000000 +0000
|
||||
+++ mono-2.2/mono/mini/main-new.c 2008-11-18 19:16:11.000000000 +0000
|
||||
@@ -26,10 +26,14 @@
|
||||
}
|
||||
|
||||
#else
|
||||
-
|
||||
+#include <sched.h>
|
||||
int
|
||||
main (int argc, char* argv[])
|
||||
{
|
||||
+#ifdef __powerpc__
|
||||
+ unsigned long mask = 1;
|
||||
+ sched_setaffinity(0, sizeof(mask), &mask);
|
||||
+#endif
|
||||
mono_build_date = build_date;
|
||||
return mono_main (argc, argv);
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
Index: mono/metadata/metadata.c
|
||||
===================================================================
|
||||
--- mono/metadata/metadata.c (Revision 121595)
|
||||
+++ mono/metadata/metadata.c (Revision 121596)
|
||||
@@ -2178,9 +2178,11 @@
|
||||
MonoImage *image = data;
|
||||
MonoMethodInflated *method = key;
|
||||
|
||||
+ // FIXME:
|
||||
+ // https://bugzilla.novell.com/show_bug.cgi?id=458168
|
||||
return method->declaring->klass->image == image ||
|
||||
(method->context.class_inst && ginst_in_image (method->context.class_inst, image)) ||
|
||||
- (method->context.method_inst && ginst_in_image (method->context.method_inst, image));
|
||||
+ (method->context.method_inst && ginst_in_image (method->context.method_inst, image)) || signature_in_image (mono_method_signature ((MonoMethod*)method), image);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
31
dev-lang/mono/files/mono-2.2-r123987-bless-crash.patch
Normal file
31
dev-lang/mono/files/mono-2.2-r123987-bless-crash.patch
Normal file
@@ -0,0 +1,31 @@
|
||||
# http://gna.org/bugs/?12900
|
||||
# https://bugzilla.novell.com/show_bug.cgi?id=469213
|
||||
# http://bugs.gentoo.org/show_bug.cgi?id=256153
|
||||
|
||||
Index: mono/mono/mini/method-to-ir.c
|
||||
===================================================================
|
||||
--- mono/mono/mini/method-to-ir.c (revision 123986)
|
||||
+++ mono/mono/mini/method-to-ir.c (revision 123987)
|
||||
@@ -5839,7 +5839,21 @@
|
||||
cmethod = (MonoMethod *)mono_method_get_wrapper_data (method, token);
|
||||
cil_method = cmethod;
|
||||
} else if (constrained_call) {
|
||||
- cmethod = mono_get_method_constrained (image, token, constrained_call, generic_context, &cil_method);
|
||||
+ if ((constrained_call->byval_arg.type == MONO_TYPE_VAR || constrained_call->byval_arg.type == MONO_TYPE_MVAR) && cfg->generic_sharing_context) {
|
||||
+ /* This is needed when using aot + generic sharing, since
|
||||
+ * the AOT code allows generic sharing for methods with
|
||||
+ * type parameters having constraints, and
|
||||
+ * get_method_constrained can't find the method in klass
|
||||
+ * representing a type var.
|
||||
+ * The type var is guaranteed to be a reference type in this
|
||||
+ * case.
|
||||
+ */
|
||||
+ cmethod = mini_get_method (cfg, method, token, NULL, generic_context);
|
||||
+ cil_method = cmethod;
|
||||
+ g_assert (!cmethod->klass->valuetype);
|
||||
+ } else {
|
||||
+ cmethod = mono_get_method_constrained (image, token, constrained_call, generic_context, &cil_method);
|
||||
+ }
|
||||
} else {
|
||||
cmethod = mini_get_method (cfg, method, token, NULL, generic_context);
|
||||
cil_method = cmethod;
|
||||
18
dev-lang/mono/files/mono-2.2-uselibdir.patch
Normal file
18
dev-lang/mono/files/mono-2.2-uselibdir.patch
Normal file
@@ -0,0 +1,18 @@
|
||||
#Fixes problem with monodoc and libdir
|
||||
http://cvs.fedoraproject.org/viewvc/rpms/mono/devel/mono-2.2-uselibdir.patch?view=log
|
||||
|
||||
--- mono-2.0/mcs/class/Microsoft.Build.Utilities/Mono.XBuild.Utilities/MonoLocationHelper.cs 2008-08-03 07:58:47.000000000 +0100
|
||||
+++ mono-2.0/mcs/class/Microsoft.Build.Utilities/Mono.XBuild.Utilities/MonoLocationHelper-new.cs 2008-08-03 08:06:47.000000000 +0100
|
||||
@@ -53,10 +53,10 @@
|
||||
//xbuildDir = Path.Combine (t2.FullName, "xbuild");
|
||||
// /usr/local/lib
|
||||
t3 = t2.Parent;
|
||||
+ libDir = t3.FullName;
|
||||
// /usr/local
|
||||
t4 = t3.Parent;
|
||||
binDir = Path.Combine (t4.FullName, "bin");
|
||||
- libDir = Path.Combine (t4.FullName, "lib");
|
||||
}
|
||||
|
||||
internal static string GetBinDir ()
|
||||
|
||||
40
dev-lang/mono/files/mono-2.4-openoffice.patch
Normal file
40
dev-lang/mono/files/mono-2.4-openoffice.patch
Normal file
@@ -0,0 +1,40 @@
|
||||
--- trunk/mcs/mcs/class.cs 2009/04/28 17:00:23 132860
|
||||
+++ trunk/mcs/mcs/class.cs 2009/04/28 17:02:37 132861
|
||||
@@ -2905,6 +2905,9 @@
|
||||
}
|
||||
|
||||
public sealed class Struct : ClassOrStruct {
|
||||
+
|
||||
+ bool is_unmanaged, has_unmanaged_check_done;
|
||||
+
|
||||
// <summary>
|
||||
// Modifiers allowed in a struct declaration
|
||||
// </summary>
|
||||
@@ -2964,6 +2967,11 @@
|
||||
if (requires_delayed_unmanagedtype_check)
|
||||
return true;
|
||||
|
||||
+ if (has_unmanaged_check_done)
|
||||
+ return is_unmanaged;
|
||||
+
|
||||
+ has_unmanaged_check_done = true;
|
||||
+
|
||||
foreach (FieldBase f in fields) {
|
||||
if ((f.ModFlags & Modifiers.STATIC) != 0)
|
||||
continue;
|
||||
@@ -2972,6 +2980,7 @@
|
||||
// struct S { S* s; }
|
||||
Type mt = f.MemberType;
|
||||
if (mt == null) {
|
||||
+ has_unmanaged_check_done = false;
|
||||
requires_delayed_unmanagedtype_check = true;
|
||||
return true;
|
||||
}
|
||||
@@ -2988,6 +2997,7 @@
|
||||
return false;
|
||||
}
|
||||
|
||||
+ is_unmanaged = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
23
dev-lang/mono/files/mono-2.4-ppcbuild-fix.patch
Normal file
23
dev-lang/mono/files/mono-2.4-ppcbuild-fix.patch
Normal file
@@ -0,0 +1,23 @@
|
||||
# From upstream CVS, fixes build on PPC/PPC64
|
||||
|
||||
--- mono-2-4/mono/libgc/include/private/gc_locks.h 2009/04/10 14:32:31 131471
|
||||
+++ mono-2-4/mono/libgc/include/private/gc_locks.h 2009/04/10 14:34:27 131472
|
||||
@@ -160,15 +160,15 @@
|
||||
int temp = 1; /* locked value */
|
||||
|
||||
__asm__ __volatile__(
|
||||
- "1:\tlwarx %0,0,%3\n" /* load and reserve */
|
||||
+ "1:\tlwarx %0,0,%1\n" /* load and reserve */
|
||||
"\tcmpwi %0, 0\n" /* if load is */
|
||||
"\tbne 2f\n" /* non-zero, return already set */
|
||||
"\tstwcx. %2,0,%1\n" /* else store conditional */
|
||||
"\tbne- 1b\n" /* retry if lost reservation */
|
||||
"\tsync\n" /* import barrier */
|
||||
"2:\t\n" /* oldval is zero if we set */
|
||||
- : "=&r"(oldval), "=p"(addr)
|
||||
- : "r"(temp), "1"(addr)
|
||||
+ : "=&r"(oldval)
|
||||
+ : "r"(addr), "r"(temp)
|
||||
: "cr0","memory");
|
||||
return oldval;
|
||||
}
|
||||
22
dev-lang/mono/files/mono-biginteger_overflow.diff
Normal file
22
dev-lang/mono/files/mono-biginteger_overflow.diff
Normal file
@@ -0,0 +1,22 @@
|
||||
--- mcs/class/corlib/Mono.Math/BigInteger.cs 2007-09-19 19:06:06.000000000 +0200
|
||||
+++ mcs/class/corlib/Mono.Math/BigInteger.cs 2007-10-25 23:46:55.000000000 +0200
|
||||
@@ -1607,7 +1607,7 @@
|
||||
uint j = 1;
|
||||
|
||||
// Multiply and add
|
||||
- for (; j < m.length; j++) {
|
||||
+ for (; j < m.length && j < A.length; j++) {
|
||||
c += (ulong)u_i * (ulong)*(mP++) + *(aSP++);
|
||||
*(aDP++) = (uint)c;
|
||||
c >>= 32;
|
||||
--- mcs/class/Mono.Security/Mono.Math/BigInteger.cs 2007-07-24 23:48:50.000000000 +0200
|
||||
+++ mcs/class/Mono.Security/Mono.Math/BigInteger.cs 2007-10-25 23:45:01.000000000 +0200
|
||||
@@ -1601,7 +1601,7 @@
|
||||
uint j = 1;
|
||||
|
||||
// Multiply and add
|
||||
- for (; j < m.length; j++) {
|
||||
+ for (; j < m.length && j < A.length; j++) {
|
||||
c += (ulong)u_i * (ulong)*(mP++) + *(aSP++);
|
||||
*(aDP++) = (uint)c;
|
||||
c >>= 32;
|
||||
Reference in New Issue
Block a user