mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-27 00:57:50 +00:00
I believe this works now. I am able to compile and run some C# apps included
in the mono/tests/ subdirectory, and it no longer hangs or dies with weird errors. (And, yes, I do have garbage collecting enabled). I'll let the C# user community be my judge. There still may be some issues since boehm-gc isn't fully functional in its multi-threaded state on FreeBSD.
This commit is contained in:
parent
d348b46e8d
commit
b892cda2b1
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=90485
@ -7,21 +7,22 @@
|
||||
|
||||
PORTNAME= mono
|
||||
PORTVERSION= 0.28
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= lang
|
||||
MASTER_SITES= http://www.go-mono.com/archive/
|
||||
|
||||
MAINTAINER= gnome@FreeBSD.org
|
||||
COMMENT= An open source implementation of .NET Development Framework
|
||||
|
||||
LIB_DEPENDS= gc.1:${PORTSDIR}/devel/boehm-gc
|
||||
|
||||
USE_LIBTOOL= yes
|
||||
USE_REINPLACE= yes
|
||||
USE_BISON= yes
|
||||
USE_GNOME= gnomehack glib20 pkgconfig
|
||||
USE_GMAKE= yes
|
||||
LIBTOOLFILES= configure libgc/configure
|
||||
INSTALLS_SHLIB= yes
|
||||
CONFIGURE_ARGS= --program-transform-name=\'\'
|
||||
CONFIGURE_ARGS= --program-transform-name=\'\' \
|
||||
--with-gc=included
|
||||
CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
|
||||
LDFLAGS="-L${LOCALBASE}/lib"
|
||||
|
||||
@ -32,4 +33,14 @@ MAN5= mono-config.5
|
||||
|
||||
ONLY_FOR_ARCHS= i386
|
||||
|
||||
.include <bsd.port.mk>
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
.if ${OSVERSION} < 500000
|
||||
EXTRA_PATCHES= ${FILESDIR}/extra-patch-signbit
|
||||
.endif
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e 's|-pthread|${PTHREAD_LIBS}|g' \
|
||||
${WRKSRC}/configure
|
||||
|
||||
.include <bsd.port.post.mk>
|
||||
|
35
lang/mono/files/extra-patch-signbit
Normal file
35
lang/mono/files/extra-patch-signbit
Normal file
@ -0,0 +1,35 @@
|
||||
--- mono/mini/mini-x86.c Mon Sep 29 05:28:49 2003
|
||||
+++ mono/mini/mini-x86.c Sat Aug 30 04:01:27 2003
|
||||
@@ -40,6 +40,32 @@
|
||||
guint8 pad;
|
||||
} MonoJitArgumentInfo;
|
||||
|
||||
+union IEEEd2bits {
|
||||
+ double d;
|
||||
+ struct {
|
||||
+#if _BYTE_ORDER == _LITTLE_ENDIAN
|
||||
+ unsigned int manl :32;
|
||||
+ unsigned int manh :20;
|
||||
+ unsigned int exp :11;
|
||||
+ unsigned int sign :1;
|
||||
+#else
|
||||
+ unsigned int sign :1;
|
||||
+ unsigned int exp :11;
|
||||
+ unsigned int manh :20;
|
||||
+ unsigned int manl :32;
|
||||
+#endif
|
||||
+ } bits;
|
||||
+};
|
||||
+
|
||||
+int
|
||||
+signbit(double d)
|
||||
+{
|
||||
+ union IEEEd2bits u;
|
||||
+
|
||||
+ u.d = d;
|
||||
+ return (u.bits.sign);
|
||||
+}
|
||||
+
|
||||
/*
|
||||
* arch_get_argument_info:
|
||||
* @csig: a method signature
|
@ -1,6 +1,15 @@
|
||||
--- configure.orig Thu Dec 26 13:09:19 2002
|
||||
+++ configure Thu Dec 26 13:09:37 2002
|
||||
@@ -7501,6 +7501,7 @@
|
||||
--- configure.orig Wed Oct 1 12:59:06 2003
|
||||
+++ configure Mon Oct 6 23:25:13 2003
|
||||
@@ -2005,7 +2005,7 @@
|
||||
_ACEOF
|
||||
|
||||
libdl=
|
||||
- libgc_threads=pthreads
|
||||
+ libgc_threads=no
|
||||
;;
|
||||
*-*-linux*)
|
||||
platform_win32=no
|
||||
@@ -8257,6 +8257,7 @@
|
||||
|
||||
# This can be used to rebuild libtool when needed
|
||||
LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
|
||||
|
10
lang/mono/files/patch-libgc_configure
Normal file
10
lang/mono/files/patch-libgc_configure
Normal file
@ -0,0 +1,10 @@
|
||||
--- libgc/configure.orig Thu Dec 26 13:09:19 2002
|
||||
+++ libgc/configure Thu Dec 26 13:09:37 2002
|
||||
@@ -7501,6 +7501,7 @@
|
||||
|
||||
# This can be used to rebuild libtool when needed
|
||||
LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
|
||||
+$ac_aux_dir/ltconfig $LIBTOOL_DEPS
|
||||
|
||||
# Always use our own libtool.
|
||||
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
|
24
lang/mono/files/patch-libgc_include_private_gcconfig.h
Normal file
24
lang/mono/files/patch-libgc_include_private_gcconfig.h
Normal file
@ -0,0 +1,24 @@
|
||||
--- libgc/include/private/gcconfig.h.orig Mon Oct 6 22:38:35 2003
|
||||
+++ libgc/include/private/gcconfig.h Mon Oct 6 22:38:56 2003
|
||||
@@ -1151,8 +1151,8 @@
|
||||
# ifndef GC_FREEBSD_THREADS
|
||||
# define MPROTECT_VDB
|
||||
# endif
|
||||
-# define SIG_SUSPEND SIGUSR1
|
||||
-# define SIG_THR_RESTART SIGUSR2
|
||||
+# define SIG_SUSPEND SIGTSTP
|
||||
+# define SIG_THR_RESTART SIGCONT
|
||||
# define FREEBSD_STACKBOTTOM
|
||||
# ifdef __ELF__
|
||||
# define DYNAMIC_LOADING
|
||||
@@ -1466,8 +1466,8 @@
|
||||
# ifdef FREEBSD
|
||||
# define OS_TYPE "FREEBSD"
|
||||
/* MPROTECT_VDB is not yet supported at all on FreeBSD/alpha. */
|
||||
-# define SIG_SUSPEND SIGUSR1
|
||||
-# define SIG_THR_RESTART SIGUSR2
|
||||
+# define SIG_SUSPEND SIGTSTP
|
||||
+# define SIG_THR_RESTART SIGCONT
|
||||
# define FREEBSD_STACKBOTTOM
|
||||
# ifdef __ELF__
|
||||
# define DYNAMIC_LOADING
|
Loading…
Reference in New Issue
Block a user