bcaf25a8c8
There have been lots of missing CONFLICTS_INSTALL entries, either because conflicting ports were added without updating existing ports, due to name changes of generated packages, due to mis-understanding the format and semantics of the conflicts entries, or just due to typoes in package names. This patch is the result of a comparison of all files contained in the official packages with each other. This comparison was based on packages built with default options and may therefore have missed further conflicts with optionally installed files. Where possible, version numbers in conflicts entries have been generalized, some times taking advantage of the fact that a port cannot conflict with itself (due to logic in bsd.port.mk that supresses the pattern match result in that case). A few ports that set the conflicts variables depending on complex conditions (e.g. port options), have been left unmodified, despite probably containing outdated package names. These changes should only affect the installation of locally built ports, not the package building with poudriere. They should give an early indication of the install conflict in cases where currently the pkg command aborts an installation when it detects that an existing file would be overwritten, Approved by: portmgr (implicit)
125 lines
3.8 KiB
Makefile
125 lines
3.8 KiB
Makefile
# Created by: Yukihiro Nakai <nakai@FreeBSD.org>
|
|
|
|
PORTNAME= mono
|
|
PORTVERSION= 6.8.0.123
|
|
PORTREVISION= 1
|
|
CATEGORIES= lang
|
|
MASTER_SITES= https://download.mono-project.com/sources/mono/
|
|
PKGNAMESUFFIX= 6.8
|
|
DISTFILES= ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX}
|
|
|
|
MAINTAINER= mono@FreeBSD.org
|
|
COMMENT= Open source implementation of .NET Development Framework
|
|
|
|
LICENSE= MIT
|
|
LICENSE_FILE= ${WRKSRC}/LICENSE
|
|
|
|
NOT_FOR_ARCHS= riscv64 riscv64sf sparc64
|
|
|
|
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= ${PYTHON_PKGNAMEPREFIX}pillow>=0:graphics/py-pillow@${PY_FLAVOR} \
|
|
ca_root_nss>=0:security/ca_root_nss \
|
|
sqlite3>0:databases/sqlite3 \
|
|
zip>=0:archivers/zip
|
|
|
|
CONFLICTS_BUILD= brotli
|
|
CONFLICTS_INSTALL= certmgr coin-or-disco disco mono mono[0-9]*
|
|
|
|
USES= autoreconf bison compiler:c11 cpe gmake iconv libtool \
|
|
pathfix perl5 python:3.6+ shebangfix tar:xz
|
|
USE_PERL5= build
|
|
|
|
CONFIGURE_SCRIPT= autogen.sh
|
|
GNU_CONFIGURE= yes
|
|
USE_LDCONFIG= yes
|
|
|
|
SHEBANG_FILES= mono/mini/genmdesc.py \
|
|
mono/tests/gc-descriptors/gen-descriptor-tests.py \
|
|
mono/tests/test_lldb.py scripts/mono-find-provides.in \
|
|
scripts/mono-find-requires.in scripts/mono-heapviz \
|
|
scripts/mono-package-runtime
|
|
BINARY_ALIAS= python=${PYTHON_CMD}
|
|
|
|
CONFIGURE_ARGS_aarch64= --with-csc=mcs
|
|
CONFIGURE_ARGS= ${CONFIGURE_ARGS_${ARCH}} --disable-dtrace
|
|
# Do not remove - this is needed to work around automake's lack of hinting
|
|
CONFIGURE_ENV+= ac_cv_header_sys_inotify_h=yes
|
|
|
|
MAKE_ENV= MONO_SHARED_DIR="${WRKDIR}" \
|
|
INSTALL_STRIP_FLAG="${STRIP}"
|
|
|
|
TEST_ARGS= -k
|
|
TEST_TARGET= check
|
|
|
|
PORTSCOUT= limit:^\d+\.\d+\.[1-9]\d*
|
|
|
|
# XXX MCL mat says: no. Options must not change themselves depending on what is installed.
|
|
# XXX MCL just leave this out for now to try to get *something* done.
|
|
# .if !exists(${LOCALBASE}/bin/mcs)
|
|
# OPTIONS_SLAVE= MONOLITE
|
|
# .endif
|
|
|
|
# intentionally sorted alpha, then SPECTRE and MONODEV at the end
|
|
# because they have performance and security implications
|
|
OPTIONS_DEFINE= BIGARRAY MONOLITE NINJA NLS ODBC X11 SPECTRE MONODEV
|
|
OPTIONS_DEFAULT= MONOLITE NLS X11
|
|
OPTIONS_SUB= yes
|
|
|
|
BIGARRAY_DESC= Enable allocating arrays greater than Int32.MaxValue
|
|
BIGARRAY_CONFIGURE_ENABLE= big-arrays
|
|
|
|
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
|
|
# DO NOT ALTER OR REMOVE. DANGER, CASE-SENSITIVE!
|
|
# monolite 2020-01-13 @ 1798d23b
|
|
MONOLITE_VERSION= 1798d23b-3dbc-4161-b3f4-6bb00134ee4e
|
|
|
|
MONODEV_DESC= Build for Mono development (disables crash privacy)
|
|
MONODEV_CONFIGURE_ON= --enable-icall-symbol-map --enable-icall-export --with-crash_privacy=no
|
|
|
|
NINJA_DESC= Use ninja to build wherever possible
|
|
NINJA_CONFIGURE_ON= ninja
|
|
NINJA_USES= ninja:build
|
|
|
|
NLS_DESC= NLS Localization Support
|
|
NLS_CONFIGURE_OFF= --disable-nls
|
|
NLS_USES= gettext
|
|
|
|
ODBC_DESC= System.Data: support for unixODBC
|
|
ODBC_BUILD_DEPENDS= unixODBC>0:databases/unixODBC
|
|
ODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC
|
|
|
|
SPECTRE_DESC= Enable internal Mono Spectre mitigations (SEE pkg-descr)
|
|
SPECTRE_CONFIGURE_ON= --with-spectre-mitigation=yes
|
|
|
|
X11_USES= display:test
|
|
X11_CONFIGURE_WITH= x
|
|
X11_RUN_DEPENDS= pango>0:x11-toolkits/pango \
|
|
libgdiplus>0:x11-toolkits/libgdiplus
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
.if ${ARCH:Mpowerpc*}
|
|
PLIST+= ${.CURDIR}/pkg-plist.powerpc
|
|
.endif
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
.if defined(QEMU_EMULATING) && "${QEMU_EMULATING}" == "1"
|
|
BROKEN= fails to build under qemu: Roslyn requires more functional POSIX implementation
|
|
.endif
|
|
|
|
post-patch:
|
|
# Needed to force regeneration due to tarball packaging
|
|
${RM} ${WRKSRC}/configure ${WRKSRC}/Makefile \
|
|
${WRKSRC}/mono/Makefile \
|
|
${WRKSRC}/mono/native/Makefile
|
|
|
|
post-install:
|
|
${MKDIR} ${STAGEDIR}${PREFIX}/mono
|
|
|
|
.include <bsd.port.post.mk>
|