summaryrefslogtreecommitdiff
path: root/lang/mono/Makefile
blob: 5bd1357baf29072033d82a06bbf7c886d86a5ae6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# $NetBSD: Makefile,v 1.75 2008/11/19 11:17:49 kefren Exp $

DISTNAME=	mono-${MONO_VERSION}
PKGREVISION=	1
CATEGORIES=	lang
MASTER_SITES=	http://ftp.novell.com/pub/mono/sources/mono/
EXTRACT_SUFX=	.tar.bz2

MAINTAINER=	kefren@NetBSD.org
HOMEPAGE=	http://www.mono-project.com/
COMMENT=	Open source implementation of the .NET Development Framework

PKG_DESTDIR_SUPPORT=	user-destdir

BUILD_DEPENDS+=	p5-XML-Parser-[0-9]*:../../textproc/p5-XML-Parser

CONFLICTS=	pnet-[0-9]*

MONO_VERSION=		2.0.1
ALL_ENV+=		MONO_SHARED_DIR=${WRKDIR:Q}

USE_TOOLS+=		bison gmake gtar perl:run pkg-config bash:run
USE_LIBTOOL=		yes
USE_LANGUAGES+=		c c++
EXTRACT_USING=		gtar

GNU_CONFIGURE=		yes
CONFIGURE_ARGS+=	--sysconfdir=${PKG_SYSCONFDIR:Q}
CONFIGURE_ARGS+=	--with-icu=yes
CONFIGURE_ARGS+=	--with-preview=yes
CONFIGURE_ARGS+=	--with-libgdiplus=installed
CONFIGURE_ARGS+=	--with-moonlight=no

MAKE_FLAGS+=		PERL=${PERL5:Q}
MAKE_FLAGS+=		mandir=${PREFIX}/${PKGMANDIR}
UNLIMIT_RESOURCES=	datasize
UNLIMIT_RESOURCES+=	stacksize
UNLIMIT_RESOURCES+=	memorysize

PKGCONFIG_OVERRIDE+=	mono-uninstalled.pc.in
PKGCONFIG_OVERRIDE+=	data/cecil.pc.in
PKGCONFIG_OVERRIDE+=	data/dotnet.pc.in
PKGCONFIG_OVERRIDE+=	data/dotnet35.pc.in
PKGCONFIG_OVERRIDE+=	data/mint.pc.in
PKGCONFIG_OVERRIDE+=	data/mono-cairo.pc.in
PKGCONFIG_OVERRIDE+=	data/mono.pc.in
PKGCONFIG_OVERRIDE+=	data/smcs.pc.in
PKGCONFIG_OVERRIDE+=	scripts/mono-nunit.pc.in

REPLACE_PERL+=	mcs/errors/do-tests.pl
REPLACE_PERL+=	mcs/tools/scan-tests.pl
REPLACE_PERL+=	msvc/create-windef.pl
REPLACE_PERL+=	mono/benchmark/test-driver
REPLACE_PERL+=	mono/cil/make-opcodes-def.pl
REPLACE_PERL+=	mono/metadata/make-bundle.pl
REPLACE_PERL+=	mono/mini/genmdesc.pl
REPLACE_PERL+=	mono/tests/stress-runner.pl

REPLACE_BASH+=	mono/arch/arm/dpiops.sh
REPLACE_BASH+=	mono/arch/arm/fpaops.sh
REPLACE_BASH+=	mono/arch/arm/vfpops.sh
REPLACE_BASH+=	mono/tests/make_imt_test.sh
REPLACE_BASH+=	scripts/mono-find-provides.in
REPLACE_BASH+=	scripts/mono-find-requires.in
REPLACE_BASH+=	scripts/mono-test-install
REPLACE_BASH+=	web/mono-build-w32.sh
REPLACE_BASH+=	mcs/class/Mono.WebBrowser/build-csproj2k5
REPLACE_BASH+=	mcs/class/Managed.Windows.Forms/build-csproj
REPLACE_BASH+=	mcs/class/Managed.Windows.Forms/build-csproj2k5
REPLACE_BASH+=	mcs/class/Mono.Cairo/Samples/gtk/compile.sh
REPLACE_BASH+=	mcs/class/Mono.Cairo/Samples/png/compile.sh
REPLACE_BASH+=	mcs/class/Mono.Cairo/Samples/win32/compile.sh
REPLACE_BASH+=	mcs/class/Mono.Cairo/Samples/x11/compile.sh
REPLACE_BASH+=	mcs/tools/tinderbox/tinderbox.sh

EGDIR=		${PREFIX}/share/examples/mono
CONF_FILES=	${EGDIR}/config ${PKG_SYSCONFDIR}/mono/config
CONF_FILES+=	${EGDIR}/browscap.ini ${PKG_SYSCONFDIR}/mono/browscap.ini
CONF_FILES+=	${EGDIR}/1.0/DefaultWsdlHelpGenerator.aspx \
		${PKG_SYSCONFDIR}/mono/1.0/DefaultWsdlHelpGenerator.aspx
CONF_FILES+=	${EGDIR}/1.0/machine.config \
		${PKG_SYSCONFDIR}/mono/1.0/machine.config
CONF_FILES+=	${EGDIR}/2.0/DefaultWsdlHelpGenerator.aspx \
		${PKG_SYSCONFDIR}/mono/2.0/DefaultWsdlHelpGenerator.aspx
CONF_FILES+=	${EGDIR}/2.0/machine.config \
		${PKG_SYSCONFDIR}/mono/2.0/machine.config
CONF_FILES+=	${EGDIR}/mconfig/config.xml \
		${PKG_SYSCONFDIR}/mono/mconfig/config.xml

MAKE_DIRS+=	${PKG_SYSCONFDIR}/mono/1.0
MAKE_DIRS+=	${PKG_SYSCONFDIR}/mono/2.0
MAKE_DIRS+=	${PKG_SYSCONFDIR}/mono/mconfig

TEST_TARGET=	check

SUBST_CLASSES+=			fix-prefix
SUBST_STAGE.fix-prefix=		post-patch
SUBST_MESSAGE.fix-prefix=	Fixing relative prefix
SUBST_FILES.fix-prefix=		${PKGCONFIG_OVERRIDE}
SUBST_SED.fix-prefix=		-e 's,$${pcfiledir}/../..,\@prefix\@,g'

SUBST_CLASSES+=			fix-mcs
SUBST_STAGE.fix-mcs=		post-patch
SUBST_MESSAGE.fix-mcs=		Fixing mcs default prefix
SUBST_FILES.fix-mcs=		mcs/build/config-default.make
SUBST_SED.fix-mcs=		-e 's,/usr/local,${PREFIX},g'

SUBST_CLASSES+=			fix-cfgdir
SUBST_STAGE.fix-cfgdir=		post-patch
SUBST_MESSAGE.fix-cfgdir=	Fixing configuration files install dir
SUBST_FILES.fix-cfgdir=		mcs/tools/mconfig/Makefile
SUBST_SED.fix-cfgdir=		-e 's,$$(sysconfdir)/mono,${EGDIR},g'

.include "../../devel/gettext-lib/buildlink3.mk"
.include "../../devel/glib2/buildlink3.mk"
.include "../../textproc/icu/buildlink3.mk"
.include "../../textproc/libxml2/buildlink3.mk"
.include "../../textproc/libxslt/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"