diff options
author | tmclaugh <tmclaugh@FreeBSD.org> | 2007-02-25 10:12:20 +0800 |
---|---|---|
committer | tmclaugh <tmclaugh@FreeBSD.org> | 2007-02-25 10:12:20 +0800 |
commit | f6247dad9dbea985c5a115c5bfa5ea50b7a9567c (patch) | |
tree | 801314cc7f02ce381461310511477c713d48b158 /lang/mono | |
parent | f3a72a6bea1f68f8283e6865b1bbb9eccc303016 (diff) | |
download | freebsd-ports-gnome-f6247dad9dbea985c5a115c5bfa5ea50b7a9567c.tar.gz freebsd-ports-gnome-f6247dad9dbea985c5a115c5bfa5ea50b7a9567c.tar.zst freebsd-ports-gnome-f6247dad9dbea985c5a115c5bfa5ea50b7a9567c.zip |
- Work around crashes during build due to LC_* settings in environment by
setting LC_ALL=C [1]
- Crash instead of looping infinitely when Mono can't obtain a semaphore.
Patch from Mono's SVN [2]
Reported by: A few people [1], pointyhat [2]
Submitted by: Phillip Neumann [1], Lou Kamenov [2]
Diffstat (limited to 'lang/mono')
-rw-r--r-- | lang/mono/Makefile | 23 | ||||
-rw-r--r-- | lang/mono/files/patch-mono_io-layer_shared.c | 15 |
2 files changed, 29 insertions, 9 deletions
diff --git a/lang/mono/Makefile b/lang/mono/Makefile index 0ad6f6314c4b..918771680b2a 100644 --- a/lang/mono/Makefile +++ b/lang/mono/Makefile @@ -8,7 +8,7 @@ PORTNAME= mono PORTVERSION= 1.2.2.1 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= lang MASTER_SITES= http://www.go-mono.com/sources/mono/ \ ${MASTER_SITE_LOCAL} @@ -33,6 +33,19 @@ CONFIGURE_ARGS= --program-transform-name=\'\' \ --with-tls=pthread MAKE_ARGS= EXTERNAL_MCS=false +# Set location for .wapi creation. +MONO_SHARED_DIR=${WRKDIR} + +# LC_ALL is set in order to work around issues people are having when using +# other languages. This has shown itself in build fails and possibly other +# strange crashes. +MAKE_ENV= MONO_SHARED_DIR="${MONO_SHARED_DIR}" \ + LC_ALL=C + +# Removed amd64 arch because builds are exhibiting semaphore problems on +# pointyhat runs causing failure to build. +ONLY_FOR_ARCHS= i386 #amd64 + MAN1= al.1 cert2spc.1 certmgr.1 chktrust.1 cilc.1 disco.1 dtd2xsd.1 \ gacutil.1 genxs.1 ilasm.1 jay.1 macpack.1 makecert.1 mcs.1 \ mint.1 mkbundle.1 mono-service.1 mono-shlib-cop.1 mono.1 \ @@ -41,14 +54,6 @@ MAN1= al.1 cert2spc.1 certmgr.1 chktrust.1 cilc.1 disco.1 dtd2xsd.1 \ soapsuds.1 sqlsharp.1 wsdl.1 xsd.1 mono-xmltool.1 sgen.1 MAN5= mono-config.5 -# Removed amd64 arch because builds are exhibiting semaphore problems on -# pointyhat runs causing failure to build. -ONLY_FOR_ARCHS= i386 #amd64 - -MONO_SHARED_DIR=${WRKDIR} - -MAKE_ENV=MONO_SHARED_DIR=${MONO_SHARED_DIR} - .include <bsd.port.pre.mk> pre-everything:: diff --git a/lang/mono/files/patch-mono_io-layer_shared.c b/lang/mono/files/patch-mono_io-layer_shared.c new file mode 100644 index 000000000000..140d0c10fa7c --- /dev/null +++ b/lang/mono/files/patch-mono_io-layer_shared.c @@ -0,0 +1,15 @@ +--- mono/io-layer/shared.c.orig Fri Dec 1 01:57:46 2006 ++++ mono/io-layer/shared.c Wed Feb 21 13:28:07 2007 +@@ -330,10 +330,10 @@ + while ((_wapi_sem_id = semget (key, _WAPI_SHARED_SEM_COUNT, + IPC_CREAT | IPC_EXCL | 0600)) == -1) { + if (errno == ENOMEM) { +- g_critical ("%s: semget error: %s", __func__, ++ g_error ("%s: semget error: %s", __func__, + g_strerror (errno)); + } else if (errno == ENOSPC) { +- g_critical ("%s: semget error: %s. Try deleting some semaphores with ipcs and ipcrm", __func__, g_strerror (errno)); ++ g_error ("%s: semget error: %s. Try deleting some semaphores with ipcs and ipcrm\nor increase the maximum number of semaphore in the system.", __func__, g_strerror (errno)); + } else if (errno != EEXIST) { + if (retries > 3) + g_warning ("%s: semget error: %s key 0x%x - trying again", __func__, |