From be5cae4b161f27d181feb3326103f700b6a56b4c Mon Sep 17 00:00:00 2001 From: geos_one Date: Sat, 22 Aug 2009 00:44:22 +0000 Subject: [PATCH] add new mono version git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/linamh@1476 6952d904-891a-0410-993b-d76249ca496b --- app-emulation/wine/Manifest | 2 + dev-lang/mono/Manifest | 20 ++ dev-lang/mono/files/mono-1.2-glibc28.patch | 21 ++ dev-lang/mono/files/mono-1.2.4-pic.patch | 18 ++ .../mono/files/mono-1.2.6-bug-347359.patch | 13 + ...2.6-threads-types-private-prototypes.patch | 32 +++ .../mono/files/mono-2.0-fix-headless.patch | 152 ++++++++++ dev-lang/mono/files/mono-2.0-mimeicon.patch | 54 ++++ .../mono/files/mono-2.0-ppc-threading.patch | 20 ++ ...o-2.0.1-fix-wsdl-troubles-with-muine.patch | 11 + ...0.1-fix_implicit_pointer_conversions.patch | 18 ++ .../files/mono-2.2-freebsd-elf_common.patch | 20 ++ dev-lang/mono/files/mono-2.2-libdir126.patch | 68 +++++ .../mono/files/mono-2.2-ppc-threading.patch | 21 ++ ....2-r121596-work-around-runtime-crash.patch | 17 ++ .../files/mono-2.2-r123987-bless-crash.patch | 31 ++ dev-lang/mono/files/mono-2.2-uselibdir.patch | 18 ++ dev-lang/mono/files/mono-2.4-openoffice.patch | 40 +++ .../mono/files/mono-2.4-ppcbuild-fix.patch | 23 ++ .../mono/files/mono-biginteger_overflow.diff | 22 ++ dev-lang/mono/mono-2.4.2.3.ebuild | 272 ++++++++++++++++++ 21 files changed, 893 insertions(+) create mode 100644 dev-lang/mono/Manifest create mode 100644 dev-lang/mono/files/mono-1.2-glibc28.patch create mode 100644 dev-lang/mono/files/mono-1.2.4-pic.patch create mode 100644 dev-lang/mono/files/mono-1.2.6-bug-347359.patch create mode 100644 dev-lang/mono/files/mono-1.2.6-threads-types-private-prototypes.patch create mode 100644 dev-lang/mono/files/mono-2.0-fix-headless.patch create mode 100644 dev-lang/mono/files/mono-2.0-mimeicon.patch create mode 100644 dev-lang/mono/files/mono-2.0-ppc-threading.patch create mode 100644 dev-lang/mono/files/mono-2.0.1-fix-wsdl-troubles-with-muine.patch create mode 100644 dev-lang/mono/files/mono-2.0.1-fix_implicit_pointer_conversions.patch create mode 100644 dev-lang/mono/files/mono-2.2-freebsd-elf_common.patch create mode 100644 dev-lang/mono/files/mono-2.2-libdir126.patch create mode 100644 dev-lang/mono/files/mono-2.2-ppc-threading.patch create mode 100644 dev-lang/mono/files/mono-2.2-r121596-work-around-runtime-crash.patch create mode 100644 dev-lang/mono/files/mono-2.2-r123987-bless-crash.patch create mode 100644 dev-lang/mono/files/mono-2.2-uselibdir.patch create mode 100644 dev-lang/mono/files/mono-2.4-openoffice.patch create mode 100644 dev-lang/mono/files/mono-2.4-ppcbuild-fix.patch create mode 100644 dev-lang/mono/files/mono-biginteger_overflow.diff create mode 100644 dev-lang/mono/mono-2.4.2.3.ebuild diff --git a/app-emulation/wine/Manifest b/app-emulation/wine/Manifest index 55a2709d..e5e63a23 100644 --- a/app-emulation/wine/Manifest +++ b/app-emulation/wine/Manifest @@ -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 diff --git a/dev-lang/mono/Manifest b/dev-lang/mono/Manifest new file mode 100644 index 00000000..3e581a18 --- /dev/null +++ b/dev-lang/mono/Manifest @@ -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 diff --git a/dev-lang/mono/files/mono-1.2-glibc28.patch b/dev-lang/mono/files/mono-1.2-glibc28.patch new file mode 100644 index 00000000..2da5a3c3 --- /dev/null +++ b/dev-lang/mono/files/mono-1.2-glibc28.patch @@ -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); + } diff --git a/dev-lang/mono/files/mono-1.2.4-pic.patch b/dev-lang/mono/files/mono-1.2.4-pic.patch new file mode 100644 index 00000000..d1ad7399 --- /dev/null +++ b/dev-lang/mono/files/mono-1.2.4-pic.patch @@ -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. diff --git a/dev-lang/mono/files/mono-1.2.6-bug-347359.patch b/dev-lang/mono/files/mono-1.2.6-bug-347359.patch new file mode 100644 index 00000000..d6946b8e --- /dev/null +++ b/dev-lang/mono/files/mono-1.2.6-bug-347359.patch @@ -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; diff --git a/dev-lang/mono/files/mono-1.2.6-threads-types-private-prototypes.patch b/dev-lang/mono/files/mono-1.2.6-threads-types-private-prototypes.patch new file mode 100644 index 00000000..eec42124 --- /dev/null +++ b/dev-lang/mono/files/mono-1.2.6-threads-types-private-prototypes.patch @@ -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 + #include + #include +-#include + + 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_ */ diff --git a/dev-lang/mono/files/mono-2.0-fix-headless.patch b/dev-lang/mono/files/mono-2.0-fix-headless.patch new file mode 100644 index 00000000..a456d34c --- /dev/null +++ b/dev-lang/mono/files/mono-2.0-fix-headless.patch @@ -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 columns; + private Dictionary column_spans; + private Dictionary rows; + private Dictionary 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 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; + diff --git a/dev-lang/mono/files/mono-2.0-mimeicon.patch b/dev-lang/mono/files/mono-2.0-mimeicon.patch new file mode 100644 index 00000000..26ade3ad --- /dev/null +++ b/dev-lang/mono/files/mono-2.0-mimeicon.patch @@ -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; + } diff --git a/dev-lang/mono/files/mono-2.0-ppc-threading.patch b/dev-lang/mono/files/mono-2.0-ppc-threading.patch new file mode 100644 index 00000000..d28ecf27 --- /dev/null +++ b/dev-lang/mono/files/mono-2.0-ppc-threading.patch @@ -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 + 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); + } + diff --git a/dev-lang/mono/files/mono-2.0.1-fix-wsdl-troubles-with-muine.patch b/dev-lang/mono/files/mono-2.0.1-fix-wsdl-troubles-with-muine.patch new file mode 100644 index 00000000..2001f717 --- /dev/null +++ b/dev-lang/mono/files/mono-2.0.1-fix-wsdl-troubles-with-muine.patch @@ -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. + } + } + diff --git a/dev-lang/mono/files/mono-2.0.1-fix_implicit_pointer_conversions.patch b/dev-lang/mono/files/mono-2.0.1-fix_implicit_pointer_conversions.patch new file mode 100644 index 00000000..35b99919 --- /dev/null +++ b/dev-lang/mono/files/mono-2.0.1-fix_implicit_pointer_conversions.patch @@ -0,0 +1,18 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## fix_implicit_pointer_conversions.dpatch by Mirco Bauer +## +## 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 ++#include + #include + #include + #include diff --git a/dev-lang/mono/files/mono-2.2-freebsd-elf_common.patch b/dev-lang/mono/files/mono-2.2-freebsd-elf_common.patch new file mode 100644 index 00000000..3dc66cc4 --- /dev/null +++ b/dev-lang/mono/files/mono-2.2-freebsd-elf_common.patch @@ -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 diff --git a/dev-lang/mono/files/mono-2.2-libdir126.patch b/dev-lang/mono/files/mono-2.2-libdir126.patch new file mode 100644 index 00000000..ef077255 --- /dev/null +++ b/dev-lang/mono/files/mono-2.2-libdir126.patch @@ -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"); + } diff --git a/dev-lang/mono/files/mono-2.2-ppc-threading.patch b/dev-lang/mono/files/mono-2.2-ppc-threading.patch new file mode 100644 index 00000000..ca999f67 --- /dev/null +++ b/dev-lang/mono/files/mono-2.2-ppc-threading.patch @@ -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 + 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); + } diff --git a/dev-lang/mono/files/mono-2.2-r121596-work-around-runtime-crash.patch b/dev-lang/mono/files/mono-2.2-r121596-work-around-runtime-crash.patch new file mode 100644 index 00000000..86f7717e --- /dev/null +++ b/dev-lang/mono/files/mono-2.2-r121596-work-around-runtime-crash.patch @@ -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 diff --git a/dev-lang/mono/files/mono-2.2-r123987-bless-crash.patch b/dev-lang/mono/files/mono-2.2-r123987-bless-crash.patch new file mode 100644 index 00000000..1be03542 --- /dev/null +++ b/dev-lang/mono/files/mono-2.2-r123987-bless-crash.patch @@ -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; diff --git a/dev-lang/mono/files/mono-2.2-uselibdir.patch b/dev-lang/mono/files/mono-2.2-uselibdir.patch new file mode 100644 index 00000000..f6d9615a --- /dev/null +++ b/dev-lang/mono/files/mono-2.2-uselibdir.patch @@ -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 () + diff --git a/dev-lang/mono/files/mono-2.4-openoffice.patch b/dev-lang/mono/files/mono-2.4-openoffice.patch new file mode 100644 index 00000000..1b09dec8 --- /dev/null +++ b/dev-lang/mono/files/mono-2.4-openoffice.patch @@ -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; ++ + // + // Modifiers allowed in a struct declaration + // +@@ -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; + } + diff --git a/dev-lang/mono/files/mono-2.4-ppcbuild-fix.patch b/dev-lang/mono/files/mono-2.4-ppcbuild-fix.patch new file mode 100644 index 00000000..0668d55d --- /dev/null +++ b/dev-lang/mono/files/mono-2.4-ppcbuild-fix.patch @@ -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; + } diff --git a/dev-lang/mono/files/mono-biginteger_overflow.diff b/dev-lang/mono/files/mono-biginteger_overflow.diff new file mode 100644 index 00000000..17d07724 --- /dev/null +++ b/dev-lang/mono/files/mono-biginteger_overflow.diff @@ -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; diff --git a/dev-lang/mono/mono-2.4.2.3.ebuild b/dev-lang/mono/mono-2.4.2.3.ebuild new file mode 100644 index 00000000..a4ee2f6c --- /dev/null +++ b/dev-lang/mono/mono-2.4.2.3.ebuild @@ -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="! "${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"