void-packages/templates/mono-fix-build.diff
Juan RP c2a0231719 Added mono-2.0 template. Patches from pkgsrc, thanks!
--HG--
extra : convert_revision : 6adafdffed0e60747feb7cc84f5b3f0f4926e034
2008-10-15 00:22:15 +02:00

183 lines
6 KiB
Diff

Jumbo patch containing all patches from pkgsrc, thanks!
$NetBSD: patch-af,v 1.10 2008/04/19 18:42:10 kefren Exp $
--- mono/metadata/Makefile.in.orig 2008-03-11 01:37:56.000000000 +0200
+++ mono/metadata/Makefile.in 2008-03-18 15:35:22.000000000 +0200
@@ -65,7 +65,7 @@
libmonoruntime_static_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libmonoruntime_static_la_LDFLAGS) $(LDFLAGS) -o $@
-libmonoruntime_la_LIBADD =
+libmonoruntime_la_LIBADD = $(ICU_LIBS)
am_libmonoruntime_la_OBJECTS = reflection.lo object.lo icall.lo \
decimal.lo boehm-gc.lo null-gc.lo sgen-gc.lo gc.lo \
method-builder.lo marshal.lo mono-mlist.lo monitor.lo \
$NetBSD: patch-cf,v 1.3 2008/10/10 22:02:43 kefren Exp $
--- mono/metadata/class.c.orig 2008-10-10 23:57:39.000000000 +0300
+++ mono/metadata/class.c 2008-10-10 23:58:35.000000000 +0300
@@ -7445,7 +7445,10 @@
gboolean
mono_class_generic_sharing_enabled (MonoClass *class)
{
-#if defined(__i386__) || defined(__x86_64__)
+#if defined(__NetBSD__) && defined(__x86_64__)
+/* https://bugzilla.novell.com/show_bug.cgi?id=434457 */
+ static gboolean supported = FALSE;
+#elif defined(__i386__) || defined(__x86_64__)
static gboolean supported = TRUE;
#else
/* Not supported by the JIT backends */
$NetBSD: patch-cd,v 1.1 2008/02/13 14:16:43 kefren Exp $
--- mono/mini/exceptions-amd64.c.orig 2008-02-05 23:56:30.000000000 +0200
+++ mono/mini/exceptions-amd64.c 2008-02-05 23:53:28.000000000 +0200
@@ -682,7 +682,7 @@ mono_arch_handle_exception (void *sigctx
static inline guint64*
gregs_from_ucontext (ucontext_t *ctx)
{
-#ifdef __FreeBSD__
+#if defined (__FreeBSD__) || defined (__NetBSD__)
guint64 *gregs = (guint64 *) &ctx->uc_mcontext;
#else
guint64 *gregs = (guint64 *) &ctx->uc_mcontext.gregs;
$NetBSD: patch-cc,v 1.1 2008/02/13 14:16:43 kefren Exp $
--- mono/mini/mini-amd64.h.orig 2008-02-05 23:55:50.000000000 +0200
+++ mono/mini/mini-amd64.h 2008-02-05 23:51:38.000000000 +0200
@@ -220,7 +220,7 @@ typedef struct {
#endif /* PLATFORM_WIN32 */
-#ifdef __FreeBSD__
+#if defined (__FreeBSD__) || defined (__NetBSD__)
#define REG_RAX 7
#define REG_RCX 4
$NetBSD: patch-ak,v 1.8 2008/02/13 14:16:43 kefren Exp $
--- libgc/pthread_support.c.orig 2007-11-09 00:07:02.000000000 +0200
+++ libgc/pthread_support.c 2008-02-05 14:01:40.000000000 +0200
@@ -1160,6 +1160,22 @@ void GC_end_blocking(void) {
#define __d10_sleep sleep
#endif /* GC_DGUX386_THREADS */
+#undef nanosleep
+#undef usleep
+#undef sleep
+
+/* A wrapper for the standard C nanosleep function */
+int WRAP_FUNC(nanosleep) (const struct timespec *rqtp, struct timespec *rmtp)
+{
+ int result;
+
+ GC_start_blocking();
+ result = REAL_FUNC(nanosleep)(rqtp, rmtp);
+ GC_end_blocking();
+
+ return result;
+}
+
/* A wrapper for the standard C sleep function */
int WRAP_FUNC(sleep) (unsigned int seconds)
{
$NetBSD: patch-be,v 1.1 2007/08/03 07:46:54 taca Exp $
--- mono-1.1.13.8.1/support/sys-mman.corig 2006-04-11 07:21:37.000000000 +0900
+++ support/sys-mman.c 2007-08-03 22:04:18.000000000 +0900
@@ -96,8 +96,13 @@
if (Mono_Posix_FromMremapFlags (flags, &_flags) == -1)
return MAP_FAILED;
+#if defined(__NetBSD__)
+ return mremap (old_address, (size_t) old_size, old_address, (size_t) new_size,
+ (unsigned long) _flags);
+#else
return mremap (old_address, (size_t) old_size, (size_t) new_size,
(unsigned long) _flags);
+#endif
}
#endif /* def HAVE_MREMAP */
$NetBSD: patch-bf,v 1.2 2008/02/13 14:16:43 kefren Exp $
--- support/map.c.orig 2008-02-05 14:14:43.000000000 +0200
+++ support/map.c 2008-02-05 14:16:06.000000000 +0200
@@ -3011,13 +3011,21 @@ int Mono_Posix_ToMountFlags (guint64 x,
int Mono_Posix_FromMremapFlags (guint64 x, guint64 *r)
{
+#ifdef __NetBSD__
+ *r = MAP_FIXED;
+#else
*r = 0;
+#endif
if ((x & Mono_Posix_MremapFlags_MREMAP_MAYMOVE) == Mono_Posix_MremapFlags_MREMAP_MAYMOVE)
+#ifdef __NetBSD__
+ *r &= ~MAP_FIXED;
+#else
#ifdef MREMAP_MAYMOVE
*r |= MREMAP_MAYMOVE;
#else /* def MREMAP_MAYMOVE */
{errno = EINVAL; return -1;}
#endif /* ndef MREMAP_MAYMOVE */
+#endif /* __NetBSD__ */
if (x == 0)
return 0;
return 0;
$NetBSD: patch-bg,v 1.1 2008/02/13 14:16:43 kefren Exp $
--- mono/metadata/socket-io.c.orig 2008-02-07 08:37:02.000000000 +0200
+++ mono/metadata/socket-io.c 2008-02-07 08:37:17.000000000 +0200
@@ -2751,7 +2751,7 @@
struct sockaddr_in6 saddr6;
struct addrinfo *info = NULL, hints;
gint32 family;
- char hostname[1024] = {0};
+ char hostname[NI_MAXHOST] = {0};
int flags = 0;
#else
struct in_addr inaddr;
$NetBSD: patch-bh,v 1.1 2008/02/13 14:16:43 kefren Exp $
--- mcs/class/Managed.Windows.Forms/build-csproj.orig 2008-02-07 08:44:48.000000000 +0200
+++ mcs/class/Managed.Windows.Forms/build-csproj 2008-02-07 08:44:59.000000000 +0200
@@ -177,7 +177,7 @@
{
cat $Resource | while read SRC; do
SRC=`echo $SRC | $tr '/' '\\\\'`
-SRC=`echo $SRC | sed 's/-resource://' | gawk -F , '{print " RelPath = \"" $1 "\"\n CustomToolNameSpace = \"" $2 "\""}' | fgrep -v \"\"`
+SRC=`echo $SRC | sed 's/-resource://' | awk -F , '{print " RelPath = \"" $1 "\"\n CustomToolNameSpace = \"" $2 "\""}' | fgrep -v \"\"`
cat << EOT
<File
$NetBSD: patch-bi,v 1.1 2008/02/13 14:16:43 kefren Exp $
--- mono/metadata/filewatcher.c.orig 2008-02-07 08:47:39.000000000 +0200
+++ mono/metadata/filewatcher.c 2008-02-07 08:52:21.000000000 +0200
@@ -44,9 +44,6 @@
gint
ves_icall_System_IO_FSW_SupportsFSW (void)
{
-#if HAVE_KQUEUE
- return 3;
-#else
MonoDl *fam_module;
int lib_used = 4; /* gamin */
int inotify_instance;
@@ -70,15 +67,22 @@
}
if (fam_module == NULL)
+#if HAVE_KQUEUE
+ return 3;
+#else
return 0;
+#endif
err = mono_dl_symbol (fam_module, "FAMNextEvent", (gpointer *) &FAMNextEvent);
g_free (err);
if (FAMNextEvent == NULL)
+#if HAVE_KQUEUE
+ return 3;
+#else
return 0;
+#endif
return lib_used;
-#endif
}
/* Almost copied from fam.h. Weird, I know */