summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJurek Bartuszek <jurek@gentoo.org>2007-09-11 13:49:24 +0000
committerJurek Bartuszek <jurek@gentoo.org>2007-09-11 13:49:24 +0000
commit0595eb14661450b15a3eb79311fe95784c9d5c78 (patch)
treebd14c69d95b6cbf918b10603eddeb91c3727c09e /dev-lang/mono
parentalpha/ia64/x86 stable (diff)
downloadhistorical-0595eb14661450b15a3eb79311fe95784c9d5c78.tar.gz
historical-0595eb14661450b15a3eb79311fe95784c9d5c78.tar.bz2
historical-0595eb14661450b15a3eb79311fe95784c9d5c78.zip
dev-lang/mono-1.2.5-r1: fixed issues with remoting (bug #192120)
Package-Manager: portage-2.1.2.12
Diffstat (limited to 'dev-lang/mono')
-rw-r--r--dev-lang/mono/ChangeLog8
-rw-r--r--dev-lang/mono/Manifest25
-rw-r--r--dev-lang/mono/files/digest-mono-1.2.5-r13
-rw-r--r--dev-lang/mono/files/mono-1.2.5-remoting.patch48
-rw-r--r--dev-lang/mono/mono-1.2.5-r1.ebuild125
5 files changed, 201 insertions, 8 deletions
diff --git a/dev-lang/mono/ChangeLog b/dev-lang/mono/ChangeLog
index df7247903701..ccbbe1e4e211 100644
--- a/dev-lang/mono/ChangeLog
+++ b/dev-lang/mono/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-lang/mono
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/mono/ChangeLog,v 1.125 2007/09/11 08:10:20 jurek Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mono/ChangeLog,v 1.126 2007/09/11 13:49:23 jurek Exp $
+
+*mono-1.2.5-r1 (11 Sep 2007)
+
+ 11 Sep 2007; Jurek Bartuszek <jurek@gentoo.org>
+ +files/mono-1.2.5-remoting.patch, +mono-1.2.5-r1.ebuild:
+ Fixed issues with remoting (bug #192120)
11 Sep 2007; Jurek Bartuszek <jurek@gentoo.org> mono-1.2.5.ebuild:
Added -j1 to MAKEOPTS (bug #192059)
diff --git a/dev-lang/mono/Manifest b/dev-lang/mono/Manifest
index 19878f8bd4c3..1f3a8f86c323 100644
--- a/dev-lang/mono/Manifest
+++ b/dev-lang/mono/Manifest
@@ -17,6 +17,10 @@ AUX mono-1.2.5-make-check.patch 7242 RMD160 2969a77b23bdb3d151115118d19bff49beba
MD5 10d738c1d410d4598b3331a4c08dcb7c files/mono-1.2.5-make-check.patch 7242
RMD160 2969a77b23bdb3d151115118d19bff49bebaf91e files/mono-1.2.5-make-check.patch 7242
SHA256 a40da914a3b6d262781df2089d19d1f096c2920921bcf2031f7c7748bef2734f files/mono-1.2.5-make-check.patch 7242
+AUX mono-1.2.5-remoting.patch 1798 RMD160 17f42b6d663ee80d86e71e3facc9630f36f4d4c6 SHA1 3fe189495abcac107318f08ee1e4c4a7ee8c6cc1 SHA256 42d29fa86fe92edb8cc24f4dc62f77d5f20075ecf97c211fc63a02ed91f5da8c
+MD5 3db452318f1b27327e739ed9dd36f9d9 files/mono-1.2.5-remoting.patch 1798
+RMD160 17f42b6d663ee80d86e71e3facc9630f36f4d4c6 files/mono-1.2.5-remoting.patch 1798
+SHA256 42d29fa86fe92edb8cc24f4dc62f77d5f20075ecf97c211fc63a02ed91f5da8c files/mono-1.2.5-remoting.patch 1798
DIST mono-1.1.16.1.tar.gz 19115095 RMD160 3ccf59d5e8f3e7ce74bccd495d7a8413a0fdce9c SHA1 fd68988e2d6002f4b631edfb8dee372bc9d979b3 SHA256 6404bd0b34c642bb159328486949424d7d51f444cfbed5c83ee5f4ee3ad34b0f
DIST mono-1.2.2.1.tar.gz 19979026 RMD160 d55d5627bb3fe4b8c4e4640aecca32713cba3e7f SHA1 d956f293d297d4ee550c6877b6b468259dac126f SHA256 d68f597c303678c3f325f552a0e2780b613dbf34d093c2269c002127be4953e5
DIST mono-1.2.3.1.tar.gz 20694945 RMD160 0dd046f12041553bc943269ef4e0a93f145c57ca SHA1 9de19e0a29ea47857090d9d2c19168f67152da41 SHA256 b177ced4e3ec0c2efc6a4e17f1f87f6e852f319332d4f138d25d4a68ffba2c78
@@ -38,14 +42,18 @@ EBUILD mono-1.2.4.ebuild 3626 RMD160 664f01434877d6837b2bd10d77d7dba57d76f069 SH
MD5 41f0cb41b58bb88546d1275e51b04a28 mono-1.2.4.ebuild 3626
RMD160 664f01434877d6837b2bd10d77d7dba57d76f069 mono-1.2.4.ebuild 3626
SHA256 a973e45422f08dc11cd9d5d8bb6016334d44e385995f22beb06f127366a8d156 mono-1.2.4.ebuild 3626
+EBUILD mono-1.2.5-r1.ebuild 3699 RMD160 753aa4fafcec7e16eb8f58abfd6ac4e96772b2d0 SHA1 6fd4c43029cce064393c4b18671decfc283d82e4 SHA256 160e18dcc7e98df852489a5b80aedeb0f10c3e8eb0e78b4cfae0b4a81a6ad7df
+MD5 5d2d96725f9cd191ee83e72e71bc7333 mono-1.2.5-r1.ebuild 3699
+RMD160 753aa4fafcec7e16eb8f58abfd6ac4e96772b2d0 mono-1.2.5-r1.ebuild 3699
+SHA256 160e18dcc7e98df852489a5b80aedeb0f10c3e8eb0e78b4cfae0b4a81a6ad7df mono-1.2.5-r1.ebuild 3699
EBUILD mono-1.2.5.ebuild 3634 RMD160 a67a1b0a1708c44d2c8dfa7dc9b8a17b09725dda SHA1 eb4de7c659450ae218fb84c7ee9df0287c087cca SHA256 ab2aa371e939d8e392193134f14994afdff7e21d5db2071f8fe961b909d54177
MD5 660a4635b834e18857988232a04721aa mono-1.2.5.ebuild 3634
RMD160 a67a1b0a1708c44d2c8dfa7dc9b8a17b09725dda mono-1.2.5.ebuild 3634
SHA256 ab2aa371e939d8e392193134f14994afdff7e21d5db2071f8fe961b909d54177 mono-1.2.5.ebuild 3634
-MISC ChangeLog 28431 RMD160 86a2a3559b9da6805e8e445b4c4977676e8485ef SHA1 5ab3e42105ff20ec00b8de07372657f92031db3a SHA256 002ab4170fa4db15e3f6f715af0f31a8c2e5038311e839e9af9afed4a1c95685
-MD5 735b20c8eb4f732e66909fbdef12e957 ChangeLog 28431
-RMD160 86a2a3559b9da6805e8e445b4c4977676e8485ef ChangeLog 28431
-SHA256 002ab4170fa4db15e3f6f715af0f31a8c2e5038311e839e9af9afed4a1c95685 ChangeLog 28431
+MISC ChangeLog 28614 RMD160 a39649d47b7255554ace0299c1f8dd097b95c8da SHA1 b49fdb2808a23fa310999dfaec638327e80efd88 SHA256 a35a03835a7a0dbe09bda2a1cddfd1b4355e89395b3fe5a996d1b0f0c5645e9d
+MD5 d657e115faa03b02820787906c77552d ChangeLog 28614
+RMD160 a39649d47b7255554ace0299c1f8dd097b95c8da ChangeLog 28614
+SHA256 a35a03835a7a0dbe09bda2a1cddfd1b4355e89395b3fe5a996d1b0f0c5645e9d ChangeLog 28614
MISC metadata.xml 159 RMD160 41527b6d3fa74dfdcd619b7d91c478b72ecc8ae8 SHA1 ac19a418765e817e54d4c54c1992c9062d5dcf3e SHA256 986c3e2fa3baa5d6e8c0b5c27a2550601780d0cc7857f7f1c01523491706d909
MD5 76b314cc7b7b79b298dd4889dff8c9cd metadata.xml 159
RMD160 41527b6d3fa74dfdcd619b7d91c478b72ecc8ae8 metadata.xml 159
@@ -65,10 +73,13 @@ SHA256 a638ed32218dbf3ca0599f936b11903a55930fe94bccf511b9d6e8db9a71dbac files/di
MD5 d6debdd19993d3fd2eac082efbe2b204 files/digest-mono-1.2.5 241
RMD160 72190058666abdafd6726fc375e751dbfa890c00 files/digest-mono-1.2.5 241
SHA256 d35045b021bc6d43a1e3dbe8fb39b53407c57a59799e30ca671a73c6673bbba4 files/digest-mono-1.2.5 241
+MD5 d6debdd19993d3fd2eac082efbe2b204 files/digest-mono-1.2.5-r1 241
+RMD160 72190058666abdafd6726fc375e751dbfa890c00 files/digest-mono-1.2.5-r1 241
+SHA256 d35045b021bc6d43a1e3dbe8fb39b53407c57a59799e30ca671a73c6673bbba4 files/digest-mono-1.2.5-r1 241
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
-iD8DBQFG5k10yvXkcyXx2ogRAukCAJ9owTn4Ec8qA3+e4PygEYMn11DhvQCghk90
-pvlpQu+eAO9T/xJNurRreJM=
-=lQDH
+iD8DBQFG5pzryvXkcyXx2ogRAiPXAKCgYRMuLGdyH5uOLLlue/mBpjM84wCffndF
+mA2ny37/8cA/CP6UvnwEhQo=
+=VohA
-----END PGP SIGNATURE-----
diff --git a/dev-lang/mono/files/digest-mono-1.2.5-r1 b/dev-lang/mono/files/digest-mono-1.2.5-r1
new file mode 100644
index 000000000000..77e998b4c7a1
--- /dev/null
+++ b/dev-lang/mono/files/digest-mono-1.2.5-r1
@@ -0,0 +1,3 @@
+MD5 03a6d15fbf447a7807cc402dc8f64036 mono-1.2.5.tar.bz2 17503807
+RMD160 aaef7d2d8940b917369eabe205c118d887e7ae32 mono-1.2.5.tar.bz2 17503807
+SHA256 2eedf307600e057776cfc2801ac54cded4d5d595d32b549f3b781cc762ade1c6 mono-1.2.5.tar.bz2 17503807
diff --git a/dev-lang/mono/files/mono-1.2.5-remoting.patch b/dev-lang/mono/files/mono-1.2.5-remoting.patch
new file mode 100644
index 000000000000..6dce6e6d8baf
--- /dev/null
+++ b/dev-lang/mono/files/mono-1.2.5-remoting.patch
@@ -0,0 +1,48 @@
+--- trunk/mono/mono/metadata/object.c 2007/08/28 12:48:36 84948
++++ trunk/mono/mono/metadata/object.c 2007/09/08 22:36:32 85526
+@@ -1560,7 +1560,8 @@
+ MonoMethod *cm;
+
+ if ((cm = class->vtable [i]))
+- pvt->vtable [i] = arch_create_remoting_trampoline (cm, target_type);
++ pvt->vtable [i] = mono_method_signature (cm)->generic_param_count
++ ? cm : arch_create_remoting_trampoline (cm, target_type);
+ }
+
+ if (class->flags & TYPE_ATTRIBUTE_ABSTRACT) {
+@@ -1570,7 +1571,7 @@
+ gpointer iter = NULL;
+ while ((m = mono_class_get_methods (k, &iter)))
+ if (!pvt->vtable [m->slot])
+- pvt->vtable [m->slot] = arch_create_remoting_trampoline (m, target_type);
++ pvt->vtable [m->slot] = mono_method_signature (m)->generic_param_count ? m : arch_create_remoting_trampoline (m, target_type);
+ }
+ }
+
+@@ -1609,7 +1610,7 @@
+ iter = NULL;
+ j = 0;
+ while ((cm = mono_class_get_methods (interf, &iter)))
+- pvt->vtable [slot + j++] = arch_create_remoting_trampoline (cm, target_type);
++ pvt->vtable [slot + j++] = mono_method_signature (cm)->generic_param_count ? cm : arch_create_remoting_trampoline (cm, target_type);
+
+ slot += mono_class_num_methods (interf);
+ }
+@@ -1933,8 +1934,15 @@
+ }
+
+ if (is_proxy) {
+- if (!res) res = method; /* It may be an interface or abstract class method */
+- res = mono_marshal_get_remoting_invoke (res);
++ /* It may be an interface, abstract class method or generic method */
++ if (!res || mono_method_signature (res)->generic_param_count)
++ res = method;
++
++ /* generic methods demand invoke_with_check */
++ if (mono_method_signature (res)->generic_param_count)
++ res = mono_marshal_get_remoting_invoke_with_check (res);
++ else
++ res = mono_marshal_get_remoting_invoke (res);
+ }
+
+ g_assert (res);
diff --git a/dev-lang/mono/mono-1.2.5-r1.ebuild b/dev-lang/mono/mono-1.2.5-r1.ebuild
new file mode 100644
index 000000000000..ff6d0ca730da
--- /dev/null
+++ b/dev-lang/mono/mono-1.2.5-r1.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mono/mono-1.2.5-r1.ebuild,v 1.1 2007/09/11 13:49:23 jurek Exp $
+
+inherit eutils flag-o-matic multilib autotools
+
+DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter"
+HOMEPAGE="http://www.go-mono.com"
+SRC_URI="http://www.go-mono.com/sources/mono/${P}.tar.bz2"
+
+LICENSE="|| ( GPL-2 LGPL-2 X11 )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~x86-fbsd"
+IUSE="X nptl"
+
+RDEPEND="!<dev-dotnet/pnet-0.6.12
+ >=dev-libs/glib-2.6
+ nptl? ( >=sys-devel/gcc-3.3.5-r1 )
+ ppc? (
+ >=sys-devel/gcc-3.2.3-r4
+ >=sys-libs/glibc-2.3.3_pre20040420
+ )
+ X? ( >=dev-dotnet/libgdiplus-1.2.4 )"
+DEPEND="${RDEPEND}
+ sys-devel/bc
+ >=dev-util/pkgconfig-0.19"
+PDEPEND="dev-dotnet/pe-format"
+
+# Parallel build unfriendly
+MAKEOPTS="${MAKEOPTS} -j1"
+
+RESTRICT="test"
+
+function get-memory-total() {
+ cat /proc/meminfo | grep MemTotal | sed -r "s/[^0-9]*([[0-9]+).*/\1/"
+}
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+
+ # Fix the install path, install into $(libdir)
+ sed -i -e 's:$(prefix)/lib:$(libdir):' \
+ -i -e 's:$(exec_prefix)/lib:$(libdir):' \
+ -i -e "s:'mono_libdir=\${exec_prefix}/lib':\"mono_libdir=\$libdir\":" \
+ ${S}/{scripts,mono/metadata}/Makefile.am ${S}/configure.in \
+ || die "sed failed"
+
+ sed -i -e 's:^libdir.*:libdir=@libdir@:' \
+ -i -e 's:${prefix}/lib/:${libdir}/:g' \
+ ${S}/{scripts,}/*.pc.in \
+ || die "sed failed"
+
+ epatch ${FILESDIR}/${P}-make-check.patch || die "patch failed"
+ epatch ${FILESDIR}/${P}-remoting.patch || die "patch failed"
+ epatch ${FILESDIR}/${PN}-1.2.4-pic.patch || die "patch failed"
+
+ # Remove dummy ltconfig and let libtool handle it
+ rm -f ${S}/libgc/ltconfig
+
+ einfo "Regenerating the build files, this will take some time..."
+ eautoreconf
+}
+
+src_compile() {
+ # mono's build system is finiky, strip the flags
+ strip-flags
+
+ # Enable the 2.0 FX, use the system glib and the gc
+ local myconf="--with-preview=yes --with-glib=system --with-gc=included"
+
+ # Threading support
+ if use amd64 || use nptl ; then
+ # force __thread on amd64 (bug #83770)
+ myconf="${myconf} --with-tls=__thread"
+ else
+ myconf="${myconf} --with-tls=pthread"
+ fi
+
+ # Enable large heaps if memory is more than >=3GB
+ if [[ $(get-memory-total) -ge 3145728 ]] ; then
+ myconf="${myconf} --with-large-heap=yes"
+ fi
+
+ # Force the use of monolite mcs to prevent issues with classlibs (bug #118062)
+ touch ${S}/mcs/build/deps/use-monolite
+
+ econf ${myconf} || die "configure failed"
+ emake EXTERNAL_MCS=false EXTERNAL_MONO=false
+
+ if [[ "$?" -ne "0" ]]; then
+ ewarn "If you are using any hardening features such as"
+ ewarn "PIE+SSP/SELinux/grsec/PAX then most probably this is the reason"
+ ewarn "why build has failed. In this case turn any active security"
+ ewarn "enhancements off and try emerging the package again"
+ die
+ fi
+}
+
+src_test() {
+ vecho ">>> Test phase [check]: ${CATEGORY}/${PF}"
+
+ mkdir -p "${T}/home/mono" || die "mkdir home failed"
+
+ export HOME="${T}/home/mono"
+ export XDG_CONFIG_HOME="${T}/home/mono"
+ export XDG_DATA_HOME="${T}/home/mono"
+
+ if ! LC_ALL=C emake -j1 check; then
+ hasq test $FEATURES && die "Make check failed. See above for details."
+ hasq test $FEATURES || eerror "Make check failed. See above for details."
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "install failed"
+
+ dodoc AUTHORS ChangeLog NEWS README
+
+ docinto docs
+ dodoc docs/*
+
+ docinto libgc
+ dodoc libgc/ChangeLog
+}