summaryrefslogtreecommitdiff
path: root/lang/mono
diff options
context:
space:
mode:
authorkefren <kefren>2008-11-19 11:17:49 +0000
committerkefren <kefren>2008-11-19 11:17:49 +0000
commitde843d55ab64879b1e9ba8e840b9b5b78c5a959a (patch)
tree2061bc1c56692501cb1967348509759daffe7a22 /lang/mono
parent7b4475f574c43ac5f93efc5094c2f8162ba0a902 (diff)
downloadpkgsrc-de843d55ab64879b1e9ba8e840b9b5b78c5a959a.tar.gz
reenable MAKE_JOBS_SAFE (2.0.1 compiled OK several times on i386 and amd64)
let configure choose tls model provide atomic_ops to Interlock functions in newer NetBSDs bump PKGREVISION
Diffstat (limited to 'lang/mono')
-rw-r--r--lang/mono/Makefile5
-rw-r--r--lang/mono/distinfo5
-rw-r--r--lang/mono/patches/patch-ab5
-rw-r--r--lang/mono/patches/patch-bb66
4 files changed, 73 insertions, 8 deletions
diff --git a/lang/mono/Makefile b/lang/mono/Makefile
index a2e2a782c8d..5bd1357baf2 100644
--- a/lang/mono/Makefile
+++ b/lang/mono/Makefile
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.74 2008/10/25 05:27:58 kefren Exp $
+# $NetBSD: Makefile,v 1.75 2008/11/19 11:17:49 kefren Exp $
DISTNAME= mono-${MONO_VERSION}
+PKGREVISION= 1
CATEGORIES= lang
MASTER_SITES= http://ftp.novell.com/pub/mono/sources/mono/
EXTRACT_SUFX= .tar.bz2
@@ -30,8 +31,6 @@ CONFIGURE_ARGS+= --with-preview=yes
CONFIGURE_ARGS+= --with-libgdiplus=installed
CONFIGURE_ARGS+= --with-moonlight=no
-MAKE_JOBS_SAFE= no
-
MAKE_FLAGS+= PERL=${PERL5:Q}
MAKE_FLAGS+= mandir=${PREFIX}/${PKGMANDIR}
UNLIMIT_RESOURCES= datasize
diff --git a/lang/mono/distinfo b/lang/mono/distinfo
index d7696b7c54f..f03b7f41dbb 100644
--- a/lang/mono/distinfo
+++ b/lang/mono/distinfo
@@ -1,9 +1,9 @@
-$NetBSD: distinfo,v 1.40 2008/10/25 05:27:58 kefren Exp $
+$NetBSD: distinfo,v 1.41 2008/11/19 11:17:49 kefren Exp $
SHA1 (mono-2.0.1.tar.bz2) = 1c06d614b9b83ca0c8cff98d06136fd5a17344e2
RMD160 (mono-2.0.1.tar.bz2) = ecada26dc398f0ea4cc4cae62885f4d1438bd540
Size (mono-2.0.1.tar.bz2) = 19385815 bytes
-SHA1 (patch-ab) = 28217e3c8bbbde2e26d33bf32297e99971e3d436
+SHA1 (patch-ab) = c5011d00d34c92b32d4243adac26b531ce40df00
SHA1 (patch-ac) = f88e1a034063a7f14e73d2e314e362d950c65e05
SHA1 (patch-ae) = f0654c3103e3d69c44158456f481e5a357350cb1
SHA1 (patch-af) = abe2bc406e8f58c00f4d1226bda3c5fb9d4ea36f
@@ -13,6 +13,7 @@ SHA1 (patch-ap) = db62ab3c1adc9f8a0b6051c4cbb76aef61a5c7dc
SHA1 (patch-aq) = 2279dc6b46eded6f5a67b04e79779c1c7117fbc5
SHA1 (patch-ar) = 7a2a916f3362da087b2dcfe6b91ba47339151e5b
SHA1 (patch-ba) = b5d7f5832ea53dd00af67ac94b5289d71f0d2152
+SHA1 (patch-bb) = e11e7af5c745f1ef315c46d5bb87944d08a058ff
SHA1 (patch-bc) = bbf1a903cf7fee1dbd3a070b0ef0d5aecbdf67e2
SHA1 (patch-bd) = cf15b750dbd93ebf0e0e5165b8a10aabbf4f1642
SHA1 (patch-be) = d7a6232690ecd15c32ed44dcc498e596c248f332
diff --git a/lang/mono/patches/patch-ab b/lang/mono/patches/patch-ab
index fa8f63433dd..7cb5a615147 100644
--- a/lang/mono/patches/patch-ab
+++ b/lang/mono/patches/patch-ab
@@ -1,14 +1,13 @@
-$NetBSD: patch-ab,v 1.14 2008/02/13 14:16:43 kefren Exp $
+$NetBSD: patch-ab,v 1.15 2008/11/19 11:17:49 kefren Exp $
--- configure.orig 2008-02-05 14:21:50.000000000 +0200
+++ configure 2008-02-05 14:24:06.000000000 +0200
-@@ -2890,8 +2890,9 @@
+@@ -2890,7 +2890,7 @@
CPPFLAGS="$CPPFLAGS -DPLATFORM_BSD"
libmono_ldflags="-pthread"
need_link_unlink=yes
- libdl="-ldl"
+ libdl="-ldl /libexec/ld.elf_so"
libgc_threads=pthreads
-+ with_tls=__thread
with_sigaltstack=no
;;
# these flags will work for all versions of -STABLE
diff --git a/lang/mono/patches/patch-bb b/lang/mono/patches/patch-bb
new file mode 100644
index 00000000000..5bb1ae2eba8
--- /dev/null
+++ b/lang/mono/patches/patch-bb
@@ -0,0 +1,66 @@
+$NetBSD: patch-bb,v 1.4 2008/11/19 11:17:49 kefren Exp $
+--- mono/io-layer/atomic.h.orig 2008-07-01 20:50:32.000000000 +0300
++++ mono/io-layer/atomic.h 2008-11-19 11:37:19.000000000 +0200
+@@ -10,11 +10,61 @@
+ #ifndef _WAPI_ATOMIC_H_
+ #define _WAPI_ATOMIC_H_
+
++#if defined(__NetBSD__)
++#include <sys/param.h>
++
++#if __NetBSD_Version__ > 499004000
++#include <sys/atomic.h>
++#define HAVE_ATOMIC_OPS
++#endif
++
++#endif
++
+ #include <glib.h>
+
+ #include "mono/io-layer/wapi.h"
+
+-#if defined(__i386__) || defined(__x86_64__)
++#if defined(__NetBSD__) && defined(HAVE_ATOMIC_OPS)
++
++#define WAPI_ATOMIC_ASM
++static inline gint32 InterlockedCompareExchange(volatile gint32 *dest,
++ gint32 exch, gint32 comp)
++{
++ return atomic_cas_32((uint32_t*)dest, comp, exch);
++}
++
++static inline gpointer InterlockedCompareExchangePointer(volatile gpointer *dest, gpointer exch, gpointer comp)
++{
++ return atomic_cas_ptr(dest, comp, exch);
++}
++
++static inline gint32 InterlockedIncrement(volatile gint32 *val)
++{
++ return atomic_inc_32_nv((uint32_t*)val);
++}
++
++static inline gint32 InterlockedDecrement(volatile gint32 *val)
++{
++ return atomic_dec_32_nv((uint32_t*)val);
++}
++
++static inline gint32 InterlockedExchange(volatile gint32 *val, gint32 new_val)
++{
++ return atomic_swap_32((uint32_t*)val, new_val);
++}
++
++static inline gpointer InterlockedExchangePointer(volatile gpointer *val,
++ gpointer new_val)
++{
++ return atomic_swap_ptr(val, new_val);
++}
++
++static inline gint32 InterlockedExchangeAdd(volatile gint32 *val, gint32 add)
++{
++ return atomic_add_32_nv((uint32_t*)val, add) - add;
++}
++
++#elif defined(__i386__) || defined(__x86_64__)
+ #define WAPI_ATOMIC_ASM
+
+ /*