freebsd-ports/lang/mono5.20/Makefile
Stefan Eßer bcaf25a8c8 Fix CONFLICTS entries of multiple ports
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)
2022-01-10 16:15:39 +01:00

111 lines
3.2 KiB
Makefile

# Created by: Yukihiro Nakai <nakai@FreeBSD.org>
PORTNAME= mono
PORTVERSION= 5.20.1.34
CATEGORIES= lang
MASTER_SITES= https://download.mono-project.com/sources/mono/
PKGNAMESUFFIX= 5.20
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= aarch64 amd64 armv6 armv7 i386 powerpc powerpc64 powerpc64le
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= ca_root_nss>=0:security/ca_root_nss
CONFLICTS_INSTALL= certmgr coin-or-disco disco mono mono[0-9]*
OPTIONS_DEFINE= MONOLITE NLS X11 HEAPVIZ
OPTIONS_DEFAULT= MONOLITE X11
OPTIONS_SUB= yes
HEAPVIZ_DESC= Install mono-heapviz debug tool (requires py-pillow)
HEAPVIZ_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pillow>=0:graphics/py-pillow@${PY_FLAVOR}
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
CPPFLAGS+= -I${LOCALBASE}/include
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 <bsd.port.options.mk>
.if ${ARCH:Mpowerpc*}
PLIST+= ${.CURDIR}/pkg-plist.powerpc
.endif
.include <bsd.port.pre.mk>
.if ${ARCH} == "aarch64"
EXTRA_PATCHES= ${FILESDIR}/extra-patch-aarch64-race-workaround
PLIST_SUB+= BOEHM="@comment "
.else
PLIST_SUB+= BOEHM=""
.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.post.mk>