diff --git a/lang/mono/Makefile b/lang/mono/Makefile index 541b96c9dd10..4414273daadb 100644 --- a/lang/mono/Makefile +++ b/lang/mono/Makefile @@ -1,102 +1,102 @@ # Created by: Yukihiro Nakai PORTNAME= mono PORTVERSION= 5.10.1.57 PORTREVISION= 3 CATEGORIES= lang MASTER_SITES= https://download.mono-project.com/sources/mono/ DISTFILES= ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX} MAINTAINER= mono@FreeBSD.org COMMENT= Open source implementation of .NET Development Framework LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE -ONLY_FOR_ARCHS= amd64 armv6 armv7 i386 powerpc +ONLY_FOR_ARCHS= amd64 armv6 armv7 i386 powerpc powerpc64 BUILD_DEPENDS= p5-XML-Parser>=0:textproc/p5-XML-Parser \ bash:shells/bash \ cmake>0:devel/cmake LIB_DEPENDS= libinotify.so:devel/libinotify RUN_DEPENDS= ${PY_PILLOW} \ ca_root_nss>=0:security/ca_root_nss CONFLICTS_INSTALL= czmq-3* OPTIONS_DEFINE= MONOLITE NLS X11 OPTIONS_DEFAULT= MONOLITE X11 OPTIONS_SUB= yes MONOLITE_DESC= Use monolite to bootstrap mcs (otherwise use installed mcs) MONOLITE_DISTFILES= monolite-linux-${MONOLITE_VERSION}-latest.tar.gz:monolite MONOLITE_MASTER_SITES= http://download.mono-project.com/monolite/:monolite MONOLITE_VERSION= 1051000004 NLS_CONFIGURE_OFF= --disable-nls NLS_USES= gettext X11_USES= display:test USES= autoreconf bison compiler:c11 cpe gmake iconv libtool \ pathfix perl5 python:3.6+ shebangfix tar:bzip2 USE_PERL5= build GNU_CONFIGURE= yes USE_LDCONFIG= yes SHEBANG_FILES= scripts/mono-heapviz mono/mini/genmdesc.py mono/tests/test_lldb.py BINARY_ALIAS= python=${PYTHON_CMD} CONFIGURE_ARGS= --disable-dtrace CONFIGURE_ENV= ac_cv_header_sys_inotify_h=no MAKE_ENV= MONO_SHARED_DIR="${WRKDIR}" \ INSTALL_STRIP_FLAG="${STRIP}" \ TZ=UTC TEST_ARGS= -k TEST_TARGET= check PORTSCOUT= limit:^\d+\.\d+\.[1-9]\d* LOCALBASE?= /usr/local .if !exists(${LOCALBASE}/bin/mcs) OPTIONS_SLAVE= MONOLITE .endif .include -.if ${ARCH} == powerpc +.if ${ARCH:Mpowerpc*} PLIST+= ${.CURDIR}/pkg-plist.powerpc .else CONFIGURE_ARGS+= --enable-btls .endif post-extract-MONOLITE-on: ${MKDIR} ${WRKSRC}/mcs/class/lib/monolite-linux ${MV} ${WRKDIR}/monolite-linux-${MONOLITE_VERSION}-latest ${WRKSRC}/mcs/class/lib/monolite-linux/${MONOLITE_VERSION} post-patch: ${REINPLACE_CMD} -e 's|^#!/bin/bash|#!/usr/bin/env bash|g' \ ${WRKSRC}/scripts/mono-find-provides.in \ ${WRKSRC}/scripts/mono-find-requires.in \ ${WRKSRC}/scripts/mono-test-install ${FIND} ${WRKSRC} -name '*.sh' | ${XARGS} ${REINPLACE_CMD} \ -e 's|^#!/bin/bash|#!/bin/sh|g' ${SED} 's/tarball/${PORTVERSION}/' ${WRKSRC}/mono/mini/Makefile.am.in \ > ${WRKSRC}/mono/mini/Makefile.am ${REINPLACE_CMD} -e 's|/usr/share|${PREFIX}|g' \ ${WRKSRC}/mcs/class/corlib/System/Environment.cs \ ${WRKSRC}/external/corefx/src/System.Runtime.Extensions/src/System/Environment.Unix.cs ${REINPLACE_CMD} -e 's|/usr/share/.mono|${PREFIX}/share/mono|g' \ ${WRKSRC}/man/mono-configuration-crypto.1 \ ${WRKSRC}/man/mono.1 \ ${WRKSRC}/man/mozroots.1 post-configure: ${REINPLACE_CMD} -e 's|share\/man|man|g' \ ${WRKSRC}/mcs/jay/Makefile post-install: ${MKDIR} ${STAGEDIR}${PREFIX}/mono .include diff --git a/lang/mono/files/patch-configure.ac b/lang/mono/files/patch-configure.ac index 280b4da2ddb1..acd3051f7d70 100644 --- a/lang/mono/files/patch-configure.ac +++ b/lang/mono/files/patch-configure.ac @@ -1,20 +1,33 @@ ---- configure.ac.orig 2018-04-18 10:51:42.000000000 +0300 -+++ configure.ac 2018-06-24 02:38:19.860780000 +0300 -@@ -3271,6 +3271,8 @@ +--- configure.ac.orig 2018-08-24 15:19:14 UTC ++++ configure.ac +@@ -3298,6 +3298,8 @@ case "$host" in BTLS_PLATFORM=i386 ;; openbsd*|freebsd*|kfreebsd-gnu*) + BTLS_SUPPORTED=yes + BTLS_PLATFORM=i386 ;; esac ;; -@@ -3295,6 +3297,8 @@ +@@ -3322,6 +3324,8 @@ case "$host" in boehm_supported=false ;; openbsd*|freebsd*|kfreebsd-gnu*) + BTLS_SUPPORTED=yes + BTLS_PLATFORM=x86_64 ;; mingw*) ;; +@@ -3355,11 +3359,10 @@ case "$host" in + INTL="intl" + ;; + macppc-*-openbsd* | powerpc*-*-linux* | powerpc-*-openbsd* | \ +- powerpc-*-sysv* | powerpc-*-darwin* | powerpc-*-netbsd* | powerpc-*-freebsd* ) ++ powerpc-*-sysv* | powerpc-*-darwin* | powerpc-*-netbsd* | powerpc*-*-freebsd* ) + if test "x$ac_cv_sizeof_void_p" = "x8"; then + TARGET=POWERPC64; + CPPFLAGS="$CPPFLAGS -D__mono_ppc__ -D__mono_ppc64__" +- CFLAGS="$CFLAGS -mminimal-toc" + else + TARGET=POWERPC; + CPPFLAGS="$CPPFLAGS -D__mono_ppc__" diff --git a/lang/mono/files/patch-mono_mini_mini-ppc.c b/lang/mono/files/patch-mono_mini_mini-ppc.c new file mode 100644 index 000000000000..bf021a40a395 --- /dev/null +++ b/lang/mono/files/patch-mono_mini_mini-ppc.c @@ -0,0 +1,20 @@ +--- mono/mini/mini-ppc.c.orig 2018-08-24 15:17:13 UTC ++++ mono/mini/mini-ppc.c +@@ -4650,7 +4650,7 @@ mono_arch_register_lowlevel_calls (void) + } + + #ifdef __mono_ppc64__ +-#ifdef _LITTLE_ENDIAN ++#if G_BYTE_ORDER == G_LITTLE_ENDIAN + #define patch_load_sequence(ip,val) do {\ + guint16 *__load = (guint16*)(ip); \ + g_assert (sizeof (val) == sizeof (gsize)); \ +@@ -4659,7 +4659,7 @@ mono_arch_register_lowlevel_calls (void) + __load [6] = (((guint64)(gsize)(val)) >> 16) & 0xffff; \ + __load [8] = ((guint64)(gsize)(val)) & 0xffff; \ + } while (0) +-#elif defined _BIG_ENDIAN ++#elif G_BYTE_ORDER == G_BIG_ENDIAN + #define patch_load_sequence(ip,val) do {\ + guint16 *__load = (guint16*)(ip); \ + g_assert (sizeof (val) == sizeof (gsize)); \