summaryrefslogtreecommitdiff
path: root/net/spread4/Makefile
blob: 5cacc60c7170f81fa7f9df83d9730bb2f0217db8 (plain) (blame)
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
# New ports collection makefile for:	spread
# Date created:		11 June 2001
# Whom:			Anders Nordby <anders@fix.no>
#
# $FreeBSD$
#

PORTNAME=	spread
PORTVERSION=	3.17.3
CATEGORIES=	net perl5
MASTER_SITES=	http://www.cnds.jhu.edu/download/noformdown/ \
		http://www.roughtrade.net/distfiles/
DISTNAME=	${PORTNAME}-src-${PORTVERSION}

MAINTAINER=	ports@FreeBSD.org
COMMENT=	The Spread Group Communication System, a network toolkit

GNU_CONFIGURE=	yes
USE_PERL5=	yes
USE_RC_SUBR=	yes
INSTALLS_SHLIB=	yes

MAKE_ARGS+=	PTHREAD_CFLAGS=${PTHREAD_CFLAGS} PTHREAD_LIBS=${PTHREAD_LIBS}
RC_SCRIPTS_SUB=	PREFIX=${PREFIX} RC_SUBR=${RC_SUBR}
WRKSRC=		${WRKDIR}/${PORTNAME}-src-${PORTVERSION}

PKGMESSAGE=	${WRKSRC}/license.txt
PORTDOCS=	Readme.txt LICENSE
HEADERFILES=	sp_func.h sp_func.h sp_events.h
MAN1=		spflooder.1 spmonitor.1 spread.1 sptuser.1 spuser.1
MAN3=		libsp.3 SP_connect.3 SP_disconnect.3 SP_equal_group_ids.3 \
		SP_error.3 SP_join.3 SP_leave.3 \
		SP_multicast.3 SP_multigroup_multicast.3 \
		SP_multigroup_scat_multicast.3 SP_poll.3 SP_receive.3 \
		SP_scat_multicast.3 SP_scat_receive.3

.include <bsd.port.pre.mk>

# bsd.port.mk doesn't allow us to use GNU_CONFIGURE and PERL_CONFIGURE together.
PERL_CONFIGURE_ARGS=	CC="${CC}" CCFLAGS="${CFLAGS}" PREFIX="${PREFIX}" \
			INSTALLPRIVLIB="${PREFIX}/lib" INSTALLARCHLIB="${PREFIX}/lib"

_MANPAGES+=	${TARGETDIR}/lib/perl5/${PERL_VERSION}/man/man3/Spread.3

post-configure:
	@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' \
		${WRKSRC}/docs/${PORTNAME}.1 ${WRKSRC}/docs/spmonitor.1

post-build:
	@cd ${WRKSRC}/perl/Spread && \
		${SETENV} ${CONFIGURE_ENV} ${PERL5} ./Makefile.PL ${PERL_CONFIGURE_ARGS}
	@cd ${WRKSRC}/perl/Spread && \
		${PERL5} -pi -e 's/ doc_(perl|site|\$$\(INSTALLDIRS\))_install$$//' Makefile
	@cd ${WRKSRC}/perl/Spread && ${MAKE}
	@${SED} ${RC_SCRIPTS_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
		${FILESDIR}/${PORTNAME}.sh > ${WRKDIR}/${PORTNAME}.sh

pre-install:
	${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL

post-install:
	${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME}.sh \
		${PREFIX}/etc/rc.d/${PORTNAME}.sh
.for f in ${HEADERFILES}
	${INSTALL_DATA} ${WRKSRC}/${f} ${PREFIX}/include
.endfor
	${INSTALL_DATA} ${WRKSRC}/sample.spread.conf \
		${PREFIX}/etc/spread.conf.sample
.if !exists(${PREFIX}/etc/${PORTNAME}.conf)
	${INSTALL_DATA} ${WRKSRC}/sample.spread.conf \
		${PREFIX}/etc/${PORTNAME}.conf
.endif
	${INSTALL_DATA} ${WRKSRC}/sample.spread.access_ip \
		${PREFIX}/etc/spread.access_ip.sample
.if !exists(${PREFIX}/etc/spread.access_ip)
	${INSTALL_DATA} ${WRKSRC}/sample.spread.access_ip \
		${PREFIX}/etc/spread.access_ip
.endif
	(cd ${WRKSRC}/perl/Spread && ${MAKE} install)
	${MKDIR} ${EXAMPLESDIR}
	${INSTALL_DATA} ${WRKSRC}/perl/Spread/test.pl ${EXAMPLESDIR}
.if !defined(NOPORTDOCS)
	${MKDIR} ${DOCSDIR}
	${INSTALL_DATA} ${WRKSRC}/Readme.txt ${DOCSDIR}
	${INSTALL_DATA} ${WRKSRC}/license.txt ${DOCSDIR}/LICENSE
.endif
	@${CAT} ${PKGMESSAGE}
	@${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL

.include <bsd.port.post.mk>