From c2a02317192635918a338858561aaa8e3d7bb742 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 15 Oct 2008 00:22:15 +0200 Subject: [PATCH] Added mono-2.0 template. Patches from pkgsrc, thanks! --HG-- extra : convert_revision : 6adafdffed0e60747feb7cc84f5b3f0f4926e034 --- dependencies/build-depends.db | Bin 19456 -> 19456 bytes templates/mono-fix-build.diff | 183 ++++++++++++++++++++ templates/mono-runstuff-before-configure.sh | 31 ++++ templates/mono.tmpl | 27 +++ 4 files changed, 241 insertions(+) create mode 100644 templates/mono-fix-build.diff create mode 100644 templates/mono-runstuff-before-configure.sh create mode 100755 templates/mono.tmpl diff --git a/dependencies/build-depends.db b/dependencies/build-depends.db index 6cf9df73ebd292ec0531902cc575b2704d10ce47..8bf461b54ca0d661b594511fdf8280b28b578c32 100644 GIT binary patch delta 113 zcmZpe!Pqc^af6V8v$nm0qg)20jvNx0C)jdlOY@zlh6nR0b`RbAZr5vVIZ@s WAaxOwA~J%JFeZ}_5d^c$GBg=khZ2qe diff --git a/templates/mono-fix-build.diff b/templates/mono-fix-build.diff new file mode 100644 index 00000000000..c0a086113e4 --- /dev/null +++ b/templates/mono-fix-build.diff @@ -0,0 +1,183 @@ +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 +