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:
geos_one 2009-08-22 00:44:22 +00:00
parent 2fc3271682
commit be5cae4b16
21 changed files with 893 additions and 0 deletions

View File

@ -16,7 +16,9 @@ AUX revert-ntdll.patch 686 RMD160 ee2ebf8e0af7b7310e70b1f3652ad40f6576232e SHA1
AUX schannel.patch 4761 RMD160 191ef5eb1156262fd0bb3092a9214cb3ed04f548 SHA1 01adfd89c1fd7de75651fb7051ff79d10167d64d SHA256 41d1a34b69d6d1cdff80ab8e7e267385de3334af0fbff84393bc827a56ba632a
AUX wine-1.1.15-winegcc.patch 1550 RMD160 086fbdd7dbe5da98c3457f00cb30705150d58b1f SHA1 0aa5a9d0947e15af9fe103797a0c993cbb3eedab SHA256 fcf4a0578774d817b8de094abae85e370683a77805a59efe6c5f7b8b87935de9
DIST wine-1.1.26.tar.bz2 15666433 RMD160 7949d7abbb62ee1db23940e348a5f9dc4a74fd4d SHA1 d39314e002c540d1852d10124473513cfb857dfd SHA256 0285b346ca7af8def0773cece1e9b01f47e7340577d6c780cd38863c948a1f5a
DIST wine-1.1.27.tar.bz2 15647460 RMD160 022467bfddd9248b6aeeff0eea5e7c8ccdf7e8e3 SHA1 7c0902e832578196f660cc676986b383ba997828 SHA256 89eb66d8e57de093e025633d77adb51728d25b2d69a902e0157b9f1e1a9547dd
DIST wine_gecko-0.9.1.cab 7806837 RMD160 8b16a4d065cd28d87a2e226400fa0a3ed600c2f1 SHA1 9a49fc691740596517e381b47096a4bdf19a87d8 SHA256 76345852b844c4b624a1beaf3f47f261ad956dbee97316ea26b3c587b363be84
EBUILD wine-1.1.26.ebuild 4262 RMD160 4ce893cb65681f477e915b3b15e9bc3a42adaabd SHA1 6c9b80b7cd5dd74e368ec9f69df593d436c07e95 SHA256 1e7c575b4997f3e45de129608f20e25a4104fc2b0a5b5b2a9455c5b3b96c790b
EBUILD wine-1.1.27.ebuild 4262 RMD160 4ce893cb65681f477e915b3b15e9bc3a42adaabd SHA1 6c9b80b7cd5dd74e368ec9f69df593d436c07e95 SHA256 1e7c575b4997f3e45de129608f20e25a4104fc2b0a5b5b2a9455c5b3b96c790b
MISC ChangeLog 47231 RMD160 02ede05f88dc5b0f96525936aedc8109a3551ed9 SHA1 2b82fd0caf2c7c1d81bdf556eee243bc5a31e3da SHA256 f45df4c4419f15dafb847170379344792c64d13ba8284066f3c0d52e608fc271
MISC metadata.xml 1123 RMD160 168b7d83724ac65a23a10ad8bbe04d4dee180f6f SHA1 f8bb8f4eb1e4dab230f9f8d8b87fe04c6e638334 SHA256 eeee6aabb900286b05e81427597d143fb5fe74cc9b503d58464abd2534eaa569

20
dev-lang/mono/Manifest Normal file
View File

@ -0,0 +1,20 @@
AUX mono-1.2-glibc28.patch 621 RMD160 51dd3d134ddf2e8894f695f3ea48f705517af7fa SHA1 f4eec2998b42d6fb639f4bc67e0ec45f021e0831 SHA256 378fc337ebea4e6b01885e2581a70c22dc96f14935bc2073595dd2b4e0a2ae12
AUX mono-1.2.4-pic.patch 515 RMD160 7e6b6bf1bf4279881f5b03135d22f1bf488bed61 SHA1 fa8b18dde84c4305341fafafc88cda725dded3b1 SHA256 daab8ca27e5530d688ba611870c62d558be122781776aed8c0ecd97a56465a63
AUX mono-1.2.6-bug-347359.patch 468 RMD160 9057edfe349ae587cc73d2a07011faf64e092095 SHA1 26e350f31c54f29d8e407cb4ea3d31333bafb83e SHA256 3ce69a3b5129bc0715eaa46213e28436acfeabdb11e35818a8a3be9ea7fd06c9
AUX mono-1.2.6-threads-types-private-prototypes.patch 1341 RMD160 a0febde503971203d1ebf7f1274e42f95a5ed3b6 SHA1 b61bf000d7064cb76787954941696c17fa55c8d1 SHA256 0f5ac74f73817749de78c0d9435294bf148c11faef8c67729ce409493a7ee0ff
AUX mono-2.0-fix-headless.patch 5503 RMD160 f660f1dd8be20e6a9d850193b61066ab3f8544a6 SHA1 7e30fdb7892726631b80988ef6b2fe987d6873fd SHA256 988a00c00d90736807bdebb3c505b026ac48edeb19b9680ec3d82c0bceda4ef6
AUX mono-2.0-mimeicon.patch 2186 RMD160 11ab8a2cefb4fe408c95c43ca5656294e797c985 SHA1 5a11bc3367c1a32a76c853309cc429ba79f37502 SHA256 531365bf3033fe22b139239be9cb4f46ab2a84970f53bb2f13eaf4e23030625f
AUX mono-2.0-ppc-threading.patch 498 RMD160 f1d72e8ac6549ef0cbddbb256b2323fbe2ee7695 SHA1 55a2b6b1aa729a5ebcae31bb822548c9ed59bf3b SHA256 f3b7a7c1435b0aa3a8f3216cfbf0b7ad18ff565b324f41492c6ae8412be313bd
AUX mono-2.0.1-fix-wsdl-troubles-with-muine.patch 552 RMD160 2d0c75c9c26a997ead5bfbfa412447bfd16a1d1e SHA1 eec25804a179da8c7d38ee5a2783223d28033c79 SHA256 d38683b4037fb3cda08daec0840d0b0b617efd6f82e8bb9f468e744254d293e3
AUX mono-2.0.1-fix_implicit_pointer_conversions.patch 681 RMD160 cd207884e32f9916a397b53e2abfde760916ad94 SHA1 8f8f67354a6bd5b67b015621a9a42c3d4ea80580 SHA256 9aa2a0d966c848adec5498c9cac9a74098b31dc487c0a17f49c37e422e881678
AUX mono-2.2-freebsd-elf_common.patch 677 RMD160 55feea5e25ac9654c95bfb1a49dc1770a7cd9d01 SHA1 7cbb37524398f9d5789dd4f3ae76b07d33a42d84 SHA256 d753a10897805e87ddde9986982d565f941c6a45a56bf60b91d28fd2531c35a0
AUX mono-2.2-libdir126.patch 2788 RMD160 931e034c90accc2058596714d7ec07d138a77575 SHA1 7807f1d3e28c82ac0292cec2f49e063898a5d0cb SHA256 2d3de73c7aa6fdc90ddec67fc814910f40d6d8ed52ec918397ca9f5ac219c6a1
AUX mono-2.2-ppc-threading.patch 563 RMD160 2ed9822034a966e31cc90312c09e4fec70951d38 SHA1 3dda8a39085fddec0b0e25e31743d49762575605 SHA256 b2a708fc4ec8b886bf095c0d5eacbfdb8c08e1bc58442cfb6fd116f93de466a7
AUX mono-2.2-r121596-work-around-runtime-crash.patch 767 RMD160 a1b7ef12e28a3c14f1beff5f490523efbc474d26 SHA1 be9eb136478b61ff0f365fc9c6f51f082df50c61 SHA256 302df7e285fdc6dc44729d85b6784c3a2abd365b6915f8e00323b611fd12c5b1
AUX mono-2.2-r123987-bless-crash.patch 1543 RMD160 5c56cc0b69e09c2dee150bd6c34d0e1abbe3c82c SHA1 81709d2196530b7e15f96aa6ec325510bff7cda2 SHA256 3125ecbe26798ad4e009b04845e3eb8895d537bd8e1a7fd67267491403c8010e
AUX mono-2.2-uselibdir.patch 714 RMD160 fb0478a9923c5de30b6f71fa1c1cad9703e3dc8c SHA1 790e357aaccb87cb76f08a1c12e16a8804e23b58 SHA256 0d97639d48e9a40847f1053799d00827323df0af615fdf26254a03f069123b03
AUX mono-2.4-openoffice.patch 925 RMD160 37659aa877e5dd9b7a36bf6b2c522762e595747d SHA1 c7fff16e6dd5dced08feb3bd16c9b41342c2d8ab SHA256 cdedb982bd67bba7db1fb8bbf18af2a31f4b9b72caeab290bc74e060116ba627
AUX mono-2.4-ppcbuild-fix.patch 1141 RMD160 3519c930ac57317aa473593ed0962c90c7dea900 SHA1 d86b76af7b246ebefd209e26368a89460d31be67 SHA256 d6ddde4185f8c459a8953cc8a7bd5a1ea5d1eecb7ea4c5cb0c404462ab1ba3ee
AUX mono-biginteger_overflow.diff 848 RMD160 1f2cb38e577102943399459e2ef0f511dcad5209 SHA1 15203be56015aed4a9b63ca3ade01d3a22f4bae3 SHA256 adc10b8a97cbcb6b4758f7de041eee757259d55e1e2cbaf84a89e5ef83e46806
DIST mono-2.4.2.3.tar.bz2 24815426 RMD160 f52bf6e281b076b859a567c17917577710522684 SHA1 c0e7c2992ef6c1ea3d1fd48ef581aa1ff6ec29cb SHA256 1bab0d4e2906c88736ff5e242f2905f4c3535ccfc05bb5c427b72adf0e9236ae
EBUILD mono-2.4.2.3.ebuild 7157 RMD160 d31253e7f6353e1e1b83046d1263f2c9ccfba25b SHA1 610b2569f252c21d04796e4b657c5b4e270868ef SHA256 1bc2d2b83a9feeea9129d1678b7e0b80e7fc7fd2181221eab66c2837d0bbcc48

View 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);
}

View 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.

View 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;

View File

@ -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_ */

View 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;

View 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;
}

View 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);
}

View File

@ -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.
}
}

View File

@ -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>

View 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

View 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");
}

View 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);
}

View File

@ -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

View 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;

View 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 ()

View 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;
}

View 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;
}

View 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;

View File

@ -0,0 +1,272 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/mono/mono-2.4.2.ebuild,v 1.1 2009/06/30 06:01:03 loki_val Exp $
EAPI=2
inherit linux-info mono eutils flag-o-matic multilib go-mono
DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter"
HOMEPAGE="http://www.go-mono.com"
LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL"
SLOT="0"
KEYWORDS="~x86 ~ppc ~amd64"
IUSE="xen moonlight minimal"
#Bash requirement is for += operator
COMMONDEPEND="!<dev-dotnet/pnet-0.6.12
!dev-util/monodoc
dev-libs/glib:2
!minimal? ( =dev-dotnet/libgdiplus-${GO_MONO_REL_PV}* )
ia64? (
sys-libs/libunwind
)"
RDEPEND="${COMMONDEPEND}
|| ( www-client/links www-client/lynx )"
DEPEND="${COMMONDEPEND}
sys-devel/bc
>=app-shells/bash-3.2"
PDEPEND="dev-dotnet/pe-format"
MAKEOPTS="${MAKEOPTS} -j1"
RESTRICT="test"
PATCHES=(
"${WORKDIR}/mono-2.2-libdir126.patch"
"${FILESDIR}/mono-2.2-ppc-threading.patch"
"${FILESDIR}/mono-2.2-uselibdir.patch"
)
pkg_setup() {
if use kernel_linux
then
get_version
if linux_config_exists
then
if linux_chkconfig_present SYSVIPC
then
einfo "CONFIG_SYSVIPC is set, looking good."
else
eerror "If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling."
eerror "See http://bugs.gentoo.org/261869 for more info."
die "Please set CONFIG_SYSVIPC in your kernel .config"
fi
else
ewarn "Was unable to determine your kernel .config"
ewarn "Please note that if CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling."
ewarn "See http://bugs.gentoo.org/261869 for more info."
fi
fi
}
src_prepare() {
sed -e "s:@MONOLIBDIR@:$(get_libdir):" \
< "${FILESDIR}"/mono-2.2-libdir126.patch \
> "${WORKDIR}"/mono-2.2-libdir126.patch ||
die "Sedding patch file failed"
go-mono_src_prepare
}
src_configure() {
# mono's build system is finiky, strip the flags
strip-flags
#Remove this at your own peril. Mono will barf in unexpected ways.
append-flags -fno-strict-aliasing
#NOTE: We need the static libs for now so mono-debugger works.
#See http://bugs.gentoo.org/show_bug.cgi?id=256264 for details
go-mono_src_configure \
--enable-static \
--disable-quiet-build \
--with-preview \
--with-glib=system \
$(use_with moonlight) \
--with-libgdiplus=$(use minimal && printf "no" || printf "installed" ) \
$(use_with xen xen_opt) \
--without-ikvm-native \
--with-jit \
--disable-dtrace
}
src_test() {
vecho ">>> Test phase [check]: ${CATEGORY}/${PF}"
export MONO_REGISTRY_PATH="${T}/registry"
export XDG_DATA_HOME="${T}/data"
export MONO_SHARED_DIR="${T}/shared"
export XDG_CONFIG_HOME="${T}/config"
export HOME="${T}/home"
emake -j1 check
}
src_install() {
go-mono_src_install
#Bug 255610
sed -i -e "s:mono/2.0/mod.exe:mono/1.0/mod.exe:" \
"${D}"/usr/bin/mod || die "Failed to fix mod."
find "${D}"/usr/ -name '*nunit-docs*' -exec rm -rf '{}' '+' || die "Removing nunit .docs failed"
# Remove Jay to avoid colliding with dev-util/jay, the internal
# version is only used to build mcs.
rm -r "${D}"/usr/share/jay "${D}"/usr/bin/jay "${D}"/usr/share/man/man1/jay.1*
}
#THINK!!!! Before touching postrm and postinst
#Reference phase order:
#pkg_preinst
#pkg_prerm
#pkg_postrm
#pkg_postinst
pkg_preinst() {
local symlink
local NUNIT_DIR="/usr/$(get_libdir)/mono/nunit"
local pv_atom
if [[ "$(readlink "${ROOT}"/${NUNIT_DIR})" == *"mono-nunit"* ]]
then
for pv_atom in 2.2{,-r1,-r2,-r3,-r4} '2.4_pre*' '2.4_rc*' 2.4
do
if has_version "=dev-lang/mono-${pv_atom}"
then
einfo "If you just received a file collision warning message,"
einfo "be advised that this is a known problem, which will now be fixed:"
ebegin "Found broken symlinks created by $(best_version dev-lang/mono), fixing"
for symlink in \
"${ROOT}/${NUNIT_DIR}" \
"${ROOT}/usr/$(get_libdir)/pkgconfig/nunit.pc" \
"${ROOT}/usr/bin/nunit-console" \
"${ROOT}/usr/bin/nunit-console2"
do
if [[ -L "${symlink}" ]]
then
rm -f "${symlink}" &> /dev/null
fi
done
eend 0
break
fi
done
fi
}
pkg_postinst() {
elog "PLEASE TAKE NOTE!"
elog ""
elog "Some of the namespaces supported by Mono require extra packages to be installed."
elog "Below is a list of namespaces and the corresponding package you must install:"
elog ""
elog ">=x11-libs/cairo-1.6.4"
elog " Mono.Cairo"
elog "Also read:"
elog "http://www.mono-project.com/Mono.Cairo"
elog ""
elog ">=dev-db/firebird-2.0.4.13130.1"
elog " FirebirdSql.Data.Firebird"
elog "Also read:"
elog "http://www.mono-project.com/Firebird_Interbase"
elog ""
elog "=dev-dotnet/gluezilla-${GO_MONO_REL_PV}*"
elog " Mono.Mozilla"
elog " Mono.Mozilla.WebBrowser"
elog " Mono.Mozilla.Widget"
elog " Interop.SHDocVw"
elog " AxInterop.SHDocVw"
elog " Interop.mshtml.dll"
elog " System.Windows.Forms.WebBrowser"
elog " Microsoft.IE"
elog "Also read:"
elog "http://www.mono-project.com/WebBrowser"
elog ""
elog "dev-db/sqlite:3"
elog " Mono.Data.Sqlite"
elog " Mono.Data.SqliteClient"
elog "Also read:"
elog "http://www.mono-project.com/SQLite"
elog ""
elog ">=dev-db/oracle-instantclient-basic-10.2"
elog " System.Data.OracleClient"
elog "Also read:"
elog "http://www.mono-project.com/Oracle"
elog ""
elog "Mono also has support for packages that are not included in portage:"
elog ""
elog "No ebuild available:"
elog " IBM.Data.DB2"
elog "Also read: http://www.mono-project.com/IBM_DB2"
elog ""
elog "No ebuild needed:"
elog " Mono.Data.SybaseClient"
elog "Also read: http://www.mono-project.com/Sybase"
}
# NOTICE: THE COPYRIGHT FILES IN THE TARBALL ARE UNCLEAR!
# WHENEVER YOU THINK SOMETHING IS GPL-2+, IT'S ONLY GPL-2
# UNLESS MIGUEL DE ICAZA HIMSELF SAYS OTHERWISE.
# mono
# The code we use is LGPL, but contributions must be made under the MIT/X11
# license, so Novell can serve its paying customers. Exception is mono/man.
# LICENSE="LGPL-2.1"
# mono/man
# LICENSE="MIT"
# mcs/mcs
# mcs/gmcs
# LICENSE="GPL-2 MIT"
# tests
# LICENSE="MIT"
# mcs/class
# Except the listed exceptions:
# LICENSE="MIT"
# mcs/class/ByteFX.Data
# mcs/class/Npgsql
# LICENSE="LGPL-2.1"
# mcs/class/FirebirdSql.Data.Firebird
# LICENSE="IDPL"
# mcs/class/ICSharpCode.SharpZipLib
# LICENSE="GPL-2-with-linking-exception"
# mcs/class/MicrosoftAjaxLibrary
# LICENSE="Ms-Pl"
# mcs/class/Microsoft.JScript/Microsoft.JScript/TokenStream.cs
# mcs/class/Microsoft.JScript/Microsoft.JScript/Token.cs
# mcs/class/Microsoft.JScript/Microsoft.JScript/Parser.cs
# mcs/class/Microsoft.JScript/Microsoft.JScript/Decompiler.cs
# LICENSE="|| ( NPL-1.1 GPL-2 )"
# mcs/jay
# LICENSE="BSD-4"
# mcs/tools
# Except the listed exceptions:
# LICENSE="MIT"
# mcs/tools/mdoc/Mono.Documentation/monodocs2html.cs
# LICENSE="GPL-2"
# mcs/tools/sqlsharp/SqlSharpCli.cs
# LICENSE="GPL-2"
# mcs/tools/csharp/repl.cs
# LICENSE="|| ( MIT GPL-2 )"
# mcs/tools/mono-win32-setup.nsi
# LICENSE="GPL-2"
# samples
# LICENSE="MIT"