Makefile 5.94 KB
Newer Older
1
# New ports collection makefile for: emulab-boss
2
3
# Date created:         15 June 2015
# Whom:                 testbed-ops@flux.utah.edu
4

5
.include "../emulab-boss/Makefile.emulab"
6

7
PORTNAME=	emulab-boss
8
PORTVERSION=	${EMULAB_PORTVERSION}
9
10
11
12
13
CATEGORIES=	misc
MASTER_SITES=	#none
DISTFILES=	#none
EXTRACT_ONLY=	#none

14
MAINTAINER=	testbed-ops@flux.utah.edu
15
COMMENT=	"Meta-port for an Emulab boss node"
16

17
18
# XXX old 2.8.0 xerces-c until we get assign converted
#XERCES_PORT=	textproc/xerces-c3
Mike Hibler's avatar
Mike Hibler committed
19
XERCES_PORT=	misc/xerces-c2
20
21

#
22
# For PHP, specify that we want the Apache module.
23
#
24
WANT_PHP_MOD=	yes
25

26
#
27
28
# PHP modules to build.
# XXX based on current boss install.
29
#
30
31
32
USE_PHP=	bz2 ctype curl dom filter gd hash iconv json mcrypt mysql \
		openssl pdo phar posix session simplexml sockets tokenizer \
		xml xmlreader xmlrpc xmlwriter
33

34
#
35
# Various ports need to agree on what version of apache.
36
#
37
www_apache22_SET=	SUEXEC
38
39
.MAKEFLAGS+=	APACHE_PORT=www/apache22
.MAKEFLAGS+=	WITH_SUEXEC=yes
40

Mike Hibler's avatar
Mike Hibler committed
41
42
43
44
45
#
# Use the base version of openssl
#
.MAKEFLAGS+=	WITH_OPENSSL_BASE=yes

46
#
47
# This prevents any ports from trying to configure interactively.
48
#
49
50
BATCH=		yes
.MAKEFLAGS+=	BATCH=yes
51

52
LIB_DEPENDS= libgd.so:${PORTSDIR}/graphics/gd \
53
54
55
56
57
58
	libmhash.so:${PORTSDIR}/security/mhash \
	libmysqlclient.so:${PORTSDIR}/databases/mysql${MYSQL_VER}-client \
	libnetsnmp.so:${PORTSDIR}/net-mgmt/net-snmp \
	libxerces-c.so:${PORTSDIR}/${XERCES_PORT} \
	libxmlrpc.so:${PORTSDIR}/net/xmlrpc-c \
	libpubsub.so:${PORTSDIR}/misc/emulab-pubsub
59

60
61
# We need the BUILD_DEPENDS above to wind up in the dependency list
RUN_DEPENDS:= ${BUILD_DEPENDS}
62

63
#
64
65
66
67
68
69
70
71
72
73
# XXX hackary to get around bugs in Makefiles:
#
# Both pango (required by graphviz) and gtk-update-icon-cache (required by
# emacs) perform a Makefile (pre-configure target) existence check using
# ".if exists" for the cairo port. However, since that check is done at
# Makefile parse time, the things they are checking for might not yet be
# installed. Instead those items get installed as a result of the dependencies
# in the Makefile. The Makefiles should really be changed to make run-time
# check (i.e., a shell "test" command) for the existence of packages that
# they might install.
74
#
75
76
RUN_DEPENDS+=	\
	${LOCALBASE}/libdata/pkgconfig/cairo-gobject.pc:${PORTSDIR}/graphics/cairo
77

78
79
80
81
82
83
#
# Emulab-hacked versions of standard ports
#
RUN_DEPENDS+=	\
	${LOCALBASE}/libexec/tftpd:${PORTSDIR}/misc/emulab-tftp-hpa \
	${PYTHON_PKGNAMEPREFIX}m2crypto>0:${PORTSDIR}/misc/emulab-py-m2crypto
84

85
# apps
86
RUN_DEPENDS+=	\
87
	anytopnm:${PORTSDIR}/graphics/netpbm \
88
89
90
91
	autoconf:${PORTSDIR}/devel/autoconf \
	curl:${PORTSDIR}/ftp/curl \
	git:${PORTSDIR}/devel/git \
	gmake:${PORTSDIR}/devel/gmake \
92
	hg:${PORTSDIR}/devel/mercurial \
93
94
95
96
	kmetis:${PORTSDIR}/math/metis4 \
	libtool:${PORTSDIR}/devel/libtool \
	neato:${PORTSDIR}/graphics/graphviz \
	otclsh:${PORTSDIR}/misc/otcl \
97
	rpm:${PORTSDIR}/archivers/rpm4 \
Mike Hibler's avatar
Mike Hibler committed
98
	rrdtool:${PORTSDIR}/databases/rrdtool \
99
100
	rsync:${PORTSDIR}/net/rsync \
	swig2.0:${PORTSDIR}/devel/swig20 \
101
	sudo:${PORTSDIR}/security/sudo \
102
	medusa:${PORTSDIR}/security/medusa \
103
	wget:${PORTSDIR}/ftp/wget \
104
105
106
107
108
109
110
111
112
113
	xvcg:${PORTSDIR}/graphics/vcg \
	${LOCALBASE}/libexec/mysqld:${PORTSDIR}/databases/mysql${MYSQL_VER}-server \
	${LOCALBASE}/include/boost/config.hpp:${PORTSDIR}/devel/boost-all

# perl packages
# XXX all the versions listed here are ones that are known to work
#     on a 10.0 system.
#
RUN_DEPENDS+=	\
	p5-BSD-Resource>=1.2907:${PORTSDIR}/devel/p5-BSD-Resource \
Mike Hibler's avatar
Mike Hibler committed
114
	p5-CGI>=4.13:${PORTSDIR}/www/p5-CGI \
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
	p5-Class-ISA>=0.36:${PORTSDIR}/devel/p5-Class-ISA \
	p5-DBD-mysql>=4.025:${PORTSDIR}/databases/p5-DBD-mysql \
	p5-DBI>=1.630:${PORTSDIR}/databases/p5-DBI \
	p5-Digest-SHA1>=2.13:${PORTSDIR}/security/p5-Digest-SHA1 \
	p5-Expect>=1.21:${PORTSDIR}/lang/p5-Expect \
	p5-GD>=2.50:${PORTSDIR}/graphics/p5-GD \
	p5-IO-EventMux>=2.02:${PORTSDIR}/misc/p5-IO-EventMux \
	p5-IO-EventMux-Socket-MsgHdr>=0.02:${PORTSDIR}/misc/p5-IO-EventMux-Socket-MsgHdr \
	p5-IO-Tty>=1.10:${PORTSDIR}/devel/p5-IO-Tty \
	p5-JSON>=2.61:${PORTSDIR}/converters/p5-JSON \
	p5-LWP-Protocol-https>=6.04:${PORTSDIR}/www/p5-LWP-Protocol-https \
	p5-Math-BigInt>=1.997:${PORTSDIR}/math/p5-Math-BigInt \
	p5-MD5>=2.03:${PORTSDIR}/security/p5-MD5 \
	p5-Net-Telnet>=3.04:${PORTSDIR}/net/p5-Net-Telnet \
	p5-Net-IP>=1.26:${PORTSDIR}/net-mgmt/p5-Net-IP \
	p5-Privileges-Drop>=1.01:${PORTSDIR}/misc/p5-Privileges-Drop \
	p5-RPC-Async>=1.05:${PORTSDIR}/misc/p5-RPC-Async \
	p5-RPC-XML>=0.77:${PORTSDIR}/net/p5-RPC-XML \
	p5-SNMP_Session>=1.13:${PORTSDIR}/net-mgmt/p5-SNMP_Session \
	p5-Time-HiRes>=1.9726:${PORTSDIR}/devel/p5-Time-HiRes \
	p5-TimeDate>=2.30:${PORTSDIR}/devel/p5-TimeDate \
	p5-Tree-Binary>=1.05:${PORTSDIR}/devel/p5-Tree-Binary \
	p5-XML-LibXML>=2.0107:${PORTSDIR}/textproc/p5-XML-LibXML \
	p5-XML-Parser>=2.41:${PORTSDIR}/textproc/p5-XML-Parser \
	p5-XML-Simple>=2.20:${PORTSDIR}/textproc/p5-XML-Simple

# python packages
RUN_DEPENDS+=	\
Mike Hibler's avatar
Mike Hibler committed
143
144
	${PYTHON_PKGNAMEPREFIX}MySQLdb>0:${PORTSDIR}/databases/py-MySQLdb \
	${PYTHON_PKGNAMEPREFIX}lxml>0:${PORTSDIR}/devel/py-lxml
145

146
147
148
# apache related ports
RUN_DEPENDS+=	\
	${LOCALBASE}/libexec/apache22/mod_ssl.so:${PORTSDIR}/${APACHE_PORT} \
149
	${LOCALBASE}/libexec/apache22/mod_fcgid.so:${PORTSDIR}/www/mod_fcgid
150

151
# Port versions of current or former "core" utilties
152
RUN_DEPENDS+=	\
153
	dhcpd:${PORTSDIR}/net/isc-dhcp43-server \
154
	${LOCALBASE}/sbin/rndc:${PORTSDIR}/dns/bind99
155

156
157
158
159
# XXX For building loghole doc from www/tutorial
RUN_DEPENDS+=	\
	man2html:${PORTSDIR}/textproc/man2html

160
USE_PERL5=	yes
161
USES=		python:2.7
162
163
164
165
166
167

NO_BUILD=	yes

do-install:	# empty

.include <bsd.port.mk>
168
169
170
171
172
173
174

vars:
	@echo "PORTVERSION=$(PORTVERSION)"
	@echo ".MAKEFLAGS=$(.MAKEFLAGS)"
	@echo "BUILD_DEPENDS=$(BUILD_DEPENDS)"
	@echo "LIB_DEPENDS=$(LIB_DEPENDS)"
	@echo "RUN_DEPENDS=$(RUN_DEPENDS)"
175
	@echo "PYTHON_PKGNAMEPREFIX=${PYTHON_PKGNAMEPREFIX}"
176
177
178
179
180
181
	@echo "MYSQL_VER=${MYSQL_VER}"
	@echo "APACHE_PORT/VERSION=${APACHE_PORT}/${APACHE_VERSION}"
	@echo "USE_APACHE/USE_APACHE_BUILD/USE_APACHE_RUN=${USE_APACHE}/${USE_APACHE_BUILD}/${USE_APACHE_RUN}"
	@echo "USE_PHP=${USE_PHP}"
	@echo "TCL_VER/TK_VER=${TCL_VER}/${TK_VER}"