mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-03 06:04:53 +00:00
Repo-copy existing lang/mono port to lang/mono5.10 in preparation for
switching lang/mono to a metaport.
This commit is contained in:
parent
4efe7bdc2b
commit
fcb2e9b294
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=558399
95
lang/mono5.10/Makefile
Normal file
95
lang/mono5.10/Makefile
Normal file
@ -0,0 +1,95 @@
|
||||
# Created by: Yukihiro Nakai <nakai@FreeBSD.org>
|
||||
# $FreeBSD$
|
||||
|
||||
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
|
||||
|
||||
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 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 --enable-btls
|
||||
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
|
||||
|
||||
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 <bsd.port.mk>
|
5
lang/mono5.10/distinfo
Normal file
5
lang/mono5.10/distinfo
Normal file
@ -0,0 +1,5 @@
|
||||
TIMESTAMP = 1535767329
|
||||
SHA256 (mono-5.10.1.57.tar.bz2) = 76cbd8545db6adc5a1738c343d957a7015c95e1439c461ea4f2bd56bd6337ab4
|
||||
SIZE (mono-5.10.1.57.tar.bz2) = 210896685
|
||||
SHA256 (monolite-linux-1051000004-latest.tar.gz) = 209804685ba87ecc5838addc8f089e858bfad4c7627c26d118f4f6889648e0cd
|
||||
SIZE (monolite-linux-1051000004-latest.tar.gz) = 4820712
|
20
lang/mono5.10/files/patch-configure.ac
Normal file
20
lang/mono5.10/files/patch-configure.ac
Normal file
@ -0,0 +1,20 @@
|
||||
--- 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 @@
|
||||
BTLS_PLATFORM=i386
|
||||
;;
|
||||
openbsd*|freebsd*|kfreebsd-gnu*)
|
||||
+ BTLS_SUPPORTED=yes
|
||||
+ BTLS_PLATFORM=i386
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
@@ -3295,6 +3297,8 @@
|
||||
boehm_supported=false
|
||||
;;
|
||||
openbsd*|freebsd*|kfreebsd-gnu*)
|
||||
+ BTLS_SUPPORTED=yes
|
||||
+ BTLS_PLATFORM=x86_64
|
||||
;;
|
||||
mingw*)
|
||||
;;
|
@ -0,0 +1,11 @@
|
||||
--- mcs/class/Mono.Security/Mono.Security.Cryptography/KeyPairPersistence.cs.orig 2017-07-20 18:10:59 UTC
|
||||
+++ mcs/class/Mono.Security/Mono.Security.Cryptography/KeyPairPersistence.cs
|
||||
@@ -244,7 +244,7 @@ namespace Mono.Security.Cryptography {
|
||||
if ((_machinePath == null) || (!_machinePathExists)) {
|
||||
_machinePath = Path.Combine (
|
||||
Environment.GetFolderPath (Environment.SpecialFolder.CommonApplicationData),
|
||||
- ".mono");
|
||||
+ "mono");
|
||||
_machinePath = Path.Combine (_machinePath, "keypairs");
|
||||
|
||||
_machinePathExists = Directory.Exists (_machinePath);
|
@ -0,0 +1,20 @@
|
||||
--- mcs/class/Mono.Security/Mono.Security.X509/X509StoreManager.cs.orig 2017-07-20 18:10:59 UTC
|
||||
+++ mcs/class/Mono.Security/Mono.Security.X509/X509StoreManager.cs
|
||||
@@ -73,7 +73,7 @@ namespace Mono.Security.X509 {
|
||||
if (_localMachinePath == null) {
|
||||
_localMachinePath = Path.Combine (
|
||||
Environment.GetFolderPath (Environment.SpecialFolder.CommonApplicationData),
|
||||
- ".mono");
|
||||
+ "mono");
|
||||
_localMachinePath = Path.Combine (_localMachinePath, "certs");
|
||||
}
|
||||
return _localMachinePath;
|
||||
@@ -97,7 +97,7 @@ namespace Mono.Security.X509 {
|
||||
if (_newLocalMachinePath == null) {
|
||||
_newLocalMachinePath = Path.Combine (
|
||||
Environment.GetFolderPath (Environment.SpecialFolder.CommonApplicationData),
|
||||
- ".mono");
|
||||
+ "mono");
|
||||
_newLocalMachinePath = Path.Combine (_newLocalMachinePath, "new-certs");
|
||||
}
|
||||
return _newLocalMachinePath;
|
@ -0,0 +1,11 @@
|
||||
--- mcs/tools/mono-configuration-crypto/lib/Mono.Configuration.Crypto/KeyContainerCollection.cs.orig 2017-07-20 18:10:59 UTC
|
||||
+++ mcs/tools/mono-configuration-crypto/lib/Mono.Configuration.Crypto/KeyContainerCollection.cs
|
||||
@@ -32,7 +32,7 @@ namespace Mono.Configuration.Crypto
|
||||
string topPath;
|
||||
|
||||
if (machineStore)
|
||||
- topPath = Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.CommonApplicationData), ".mono");
|
||||
+ topPath = Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.CommonApplicationData), "mono");
|
||||
else
|
||||
topPath = Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData), ".mono");
|
||||
topPath = Path.Combine (topPath, "keypairs");
|
@ -0,0 +1,25 @@
|
||||
--- mcs/tools/xbuild/data/12.0/Microsoft.CSharp.targets.orig 2017-07-20 18:10:59 UTC
|
||||
+++ mcs/tools/xbuild/data/12.0/Microsoft.CSharp.targets
|
||||
@@ -20,6 +20,11 @@
|
||||
<NoCompilerStandardLib Condition="'$(NoCompilerStandardLib)'==''">true</NoCompilerStandardLib>
|
||||
</PropertyGroup>
|
||||
|
||||
+ <PropertyGroup >
|
||||
+ <SnToolExe>sn</SnToolExe>
|
||||
+ <SnToolPath>$(CscToolPath)</SnToolPath>
|
||||
+ </PropertyGroup>
|
||||
+
|
||||
<ItemGroup>
|
||||
<DocFileItem Include="$(DocumentationFile)" Condition="'$(DocumentationFile)' != ''"/>
|
||||
</ItemGroup>
|
||||
@@ -102,6 +107,10 @@
|
||||
ToolExe="$(CscToolExe)"
|
||||
ToolPath="$(CscToolPath)" />
|
||||
|
||||
+ <Exec
|
||||
+ Command="$(SnToolPath)$(SnToolExe) -R @(IntermediateAssembly) $(KeyOriginatorFile)"
|
||||
+ Condition="'$(DelaySign)' == '' and '$(KeyContainerName)' == '' and '$(KeyOriginatorFile)' != '' and ( $(CscToolExe.EndsWith('csc.exe')) or $(CscToolExe.EndsWith('csc')) or $(CscToolExe) == '' )" />
|
||||
+
|
||||
</Target>
|
||||
|
||||
<Target Name="CreateManifestResourceNames">
|
@ -0,0 +1,25 @@
|
||||
--- mcs/tools/xbuild/data/14.0/Microsoft.CSharp.targets.orig 2017-07-20 18:10:59 UTC
|
||||
+++ mcs/tools/xbuild/data/14.0/Microsoft.CSharp.targets
|
||||
@@ -20,6 +20,11 @@
|
||||
<NoCompilerStandardLib Condition="'$(NoCompilerStandardLib)'==''">true</NoCompilerStandardLib>
|
||||
</PropertyGroup>
|
||||
|
||||
+ <PropertyGroup >
|
||||
+ <SnToolExe>sn</SnToolExe>
|
||||
+ <SnToolPath>$(CscToolPath)</SnToolPath>
|
||||
+ </PropertyGroup>
|
||||
+
|
||||
<ItemGroup>
|
||||
<DocFileItem Include="$(DocumentationFile)" Condition="'$(DocumentationFile)' != ''"/>
|
||||
</ItemGroup>
|
||||
@@ -102,6 +107,10 @@
|
||||
ToolExe="$(CscToolExe)"
|
||||
ToolPath="$(CscToolPath)" />
|
||||
|
||||
+ <Exec
|
||||
+ Command="$(SnToolPath)$(SnToolExe) -R @(IntermediateAssembly) $(KeyOriginatorFile)"
|
||||
+ Condition="'$(DelaySign)' == '' and '$(KeyContainerName)' == '' and '$(KeyOriginatorFile)' != '' and ( $(CscToolExe.EndsWith('csc.exe')) or $(CscToolExe.EndsWith('csc')) or $(CscToolExe) == '' )" />
|
||||
+
|
||||
</Target>
|
||||
|
||||
<Target Name="CreateManifestResourceNames">
|
11
lang/mono5.10/files/patch-mono_eglib_gfile-posix.c
Normal file
11
lang/mono5.10/files/patch-mono_eglib_gfile-posix.c
Normal file
@ -0,0 +1,11 @@
|
||||
--- mono/eglib/gfile-posix.c.orig 2018-01-10 08:03:25 UTC
|
||||
+++ mono/eglib/gfile-posix.c
|
||||
@@ -161,7 +161,7 @@ g_get_current_dir (void)
|
||||
do {
|
||||
buffer = g_realloc (buffer, s);
|
||||
r = getcwd (buffer, s);
|
||||
- fail = (r == NULL && errno == ERANGE);
|
||||
+ fail = (r == NULL && (errno == ERANGE || errno == 0));
|
||||
if (fail) {
|
||||
s <<= 1;
|
||||
}
|
26
lang/mono5.10/files/patch-mono_mini_tramp-amd64.c
Normal file
26
lang/mono5.10/files/patch-mono_mini_tramp-amd64.c
Normal file
@ -0,0 +1,26 @@
|
||||
--- mono/mini/tramp-amd64.c.orig 2018-04-13 23:37:57 UTC
|
||||
+++ mono/mini/tramp-amd64.c
|
||||
@@ -363,7 +363,11 @@ mono_arch_create_generic_trampoline (Mon
|
||||
}
|
||||
for (i = 0; i < AMD64_XMM_NREG; ++i)
|
||||
if (AMD64_IS_ARGUMENT_XREG (i))
|
||||
+#if defined(MONO_HAVE_SIMD_REG)
|
||||
amd64_movdqu_membase_reg (code, AMD64_RBP, saved_fpregs_offset + (i * sizeof(MonoContextSimdReg)), i);
|
||||
+#else
|
||||
+ amd64_movsd_membase_reg (code, AMD64_RBP, saved_fpregs_offset + (i * sizeof(double)), i);
|
||||
+#endif
|
||||
|
||||
/* Check that the stack is aligned */
|
||||
amd64_mov_reg_reg (code, AMD64_R11, AMD64_RSP, sizeof (mgreg_t));
|
||||
@@ -540,7 +544,11 @@ mono_arch_create_generic_trampoline (Mon
|
||||
amd64_mov_reg_membase (code, i, AMD64_RBP, saved_regs_offset + (i * sizeof(mgreg_t)), sizeof(mgreg_t));
|
||||
for (i = 0; i < AMD64_XMM_NREG; ++i)
|
||||
if (AMD64_IS_ARGUMENT_XREG (i))
|
||||
+#if defined(MONO_HAVE_SIMD_REG)
|
||||
amd64_movdqu_reg_membase (code, i, AMD64_RBP, saved_fpregs_offset + (i * sizeof(MonoContextSimdReg)));
|
||||
+#else
|
||||
+ amd64_movsd_reg_membase (code, i, AMD64_RBP, saved_fpregs_offset + (i * sizeof(double)));
|
||||
+#endif
|
||||
|
||||
/* Restore stack */
|
||||
#if TARGET_WIN32
|
42
lang/mono5.10/files/patch-mono_utils_mono-context.h
Normal file
42
lang/mono5.10/files/patch-mono_utils_mono-context.h
Normal file
@ -0,0 +1,42 @@
|
||||
--- mono/utils/mono-context.h.orig 2018-04-13 23:37:57 UTC
|
||||
+++ mono/utils/mono-context.h
|
||||
@@ -24,23 +24,30 @@
|
||||
|
||||
#if defined(TARGET_X86)
|
||||
#if defined(__APPLE__)
|
||||
+#define MONO_HAVE_SIMD_REG
|
||||
typedef struct __darwin_xmm_reg MonoContextSimdReg;
|
||||
#endif
|
||||
#elif defined(TARGET_AMD64)
|
||||
#if defined(__APPLE__)
|
||||
+#define MONO_HAVE_SIMD_REG
|
||||
typedef struct __darwin_xmm_reg MonoContextSimdReg;
|
||||
#elif defined(__linux__) && defined(__GLIBC__)
|
||||
+#define MONO_HAVE_SIMD_REG
|
||||
typedef struct _libc_xmmreg MonoContextSimdReg;
|
||||
#elif defined(HOST_WIN32)
|
||||
+#define MONO_HAVE_SIMD_REG
|
||||
#include <emmintrin.h>
|
||||
typedef __m128d MonoContextSimdReg;
|
||||
#elif defined(HOST_ANDROID)
|
||||
+#define MONO_HAVE_SIMD_REG
|
||||
typedef struct _libc_xmmreg MonoContextSimdReg;
|
||||
#elif defined(__linux__)
|
||||
+#define MONO_HAVE_SIMD_REG
|
||||
#include <emmintrin.h>
|
||||
typedef __m128d MonoContextSimdReg;
|
||||
#endif
|
||||
#elif defined(TARGET_ARM64)
|
||||
+#define MONO_HAVE_SIMD_REG
|
||||
typedef __uint128_t MonoContextSimdReg;
|
||||
#endif
|
||||
|
||||
@@ -255,7 +262,7 @@ typedef struct {
|
||||
|
||||
typedef struct {
|
||||
mgreg_t gregs [AMD64_NREG];
|
||||
-#if defined(__APPLE__) || (defined(__linux__) && defined(__GLIBC__)) || defined(HOST_WIN32)
|
||||
+#if defined(MONO_HAVE_SIMD_REG)
|
||||
MonoContextSimdReg fregs [AMD64_XMM_NREG];
|
||||
#else
|
||||
double fregs [AMD64_XMM_NREG];
|
20
lang/mono5.10/files/patch-mono_utils_mono-threads.c
Normal file
20
lang/mono5.10/files/patch-mono_utils_mono-threads.c
Normal file
@ -0,0 +1,20 @@
|
||||
--- mono/utils/mono-threads.c.orig 2018-04-13 23:37:57 UTC
|
||||
+++ mono/utils/mono-threads.c
|
||||
@@ -1316,7 +1316,7 @@ mono_thread_info_sleep (guint32 ms, gboo
|
||||
} while (1);
|
||||
} else {
|
||||
int ret;
|
||||
-#if defined (__linux__) && !defined(HOST_ANDROID)
|
||||
+#if defined (HAVE_CLOCK_NANOSLEEP) && !defined(HOST_ANDROID)
|
||||
struct timespec start, target;
|
||||
|
||||
/* Use clock_nanosleep () to prevent time drifting problems when nanosleep () is interrupted by signals */
|
||||
@@ -1346,7 +1346,7 @@ mono_thread_info_sleep (guint32 ms, gboo
|
||||
memset (&rem, 0, sizeof (rem));
|
||||
ret = nanosleep (&req, &rem);
|
||||
} while (ret != 0);
|
||||
-#endif /* __linux__ */
|
||||
+#endif /* HAVE_CLOCK_NANOSLEEP */
|
||||
}
|
||||
|
||||
MONO_EXIT_GC_SAFE;
|
11
lang/mono5.10/files/patch-scripts_mono-heapviz
Normal file
11
lang/mono5.10/files/patch-scripts_mono-heapviz
Normal file
@ -0,0 +1,11 @@
|
||||
--- scripts/mono-heapviz.orig 2018-01-18 17:41:54 UTC
|
||||
+++ scripts/mono-heapviz
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
from __future__ import print_function
|
||||
import sys, os
|
||||
-import Image, ImageDraw
|
||||
+from PIL import Image, ImageDraw
|
||||
from xml.sax import ContentHandler, make_parser
|
||||
from xml.sax.handler import feature_namespaces
|
||||
from optparse import OptionParser
|
9
lang/mono5.10/pkg-descr
Normal file
9
lang/mono5.10/pkg-descr
Normal file
@ -0,0 +1,9 @@
|
||||
Mono is an open source implementation of .NET Development Framework. Its
|
||||
objective is to enable UNIX developers to build and deploy cross-platform
|
||||
.NET Applications. The project implements various technologies developed by
|
||||
Microsoft that have now been submitted to the ECMA for standardization.
|
||||
|
||||
Mono provides the necessary software to develop and run .NET client and
|
||||
server applications on BSD, Linux, Solaris, Mac OS X, Windows, and Unix.
|
||||
|
||||
WWW: http://www.mono-project.com/
|
37
lang/mono5.10/pkg-message
Normal file
37
lang/mono5.10/pkg-message
Normal file
@ -0,0 +1,37 @@
|
||||
[
|
||||
{ type: install
|
||||
message: <<EOM
|
||||
If you have build/runtime errors with Mono and Gtk# apps please try the
|
||||
following first:
|
||||
|
||||
* Build Mono and gtk+ (x11-toolkits/gtk20) without CPUTYPE and with the
|
||||
default FreeBSD CFLAGS ('-O2 -fno-strict-aliasing -pipe') as Mono has
|
||||
been known to expose compiler bugs.
|
||||
|
||||
* Try building and running Mono with the GENERIC kernel.
|
||||
- Mono requires SYSVSHM, SYSVMSG, and SYSVSEM which are part of the
|
||||
GENERIC kernel.
|
||||
- Removing kernel options or changing defaults to use experimental
|
||||
options can adversely affect Mono's ability to build and run.
|
||||
|
||||
* Remove leftover semaphores / increase semaphore limits.
|
||||
- Close apps which use Mono and run `ipcs -sbt`. Remove the
|
||||
semaphores with MODE "--rw-------" and NSEMS "8" using ipcrm (1)
|
||||
- _OR_ simply reboot which is the safest method.
|
||||
- On multi-user systems the semaphore limits may need to be increased
|
||||
from the defaults. The following should comfortably support 30 users.
|
||||
|
||||
# echo "kern.ipc.semmni=40" >> /boot/loader.conf
|
||||
# echo "kern.ipc.semmns=300" >> /boot/loader.conf
|
||||
|
||||
* If you are in a jailed environment, ensure System V IPC are enabled.
|
||||
You can rely on the security.jail.sysvipc_allowed sysctl to check
|
||||
this status. The following enables this feature on the host system:
|
||||
# echo "jail_sysvipc_allow=\"YES\"" >> /etc/rc.conf
|
||||
|
||||
* Some process information are accessed through /proc (e.g. when using
|
||||
NUnit) and procfs(5) has to be mounted for these features to work:
|
||||
# echo "proc /proc procfs rw 0 0" >> /etc/fstab
|
||||
EOM
|
||||
}
|
||||
]
|
2984
lang/mono5.10/pkg-plist
Normal file
2984
lang/mono5.10/pkg-plist
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user