aboutsummaryrefslogtreecommitdiffstats
path: root/net/spread4/Makefile
blob: a06172692f7d97030618f8d410a76df74e4c9a81 (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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# New ports collection makefile for:    spread
# Date created:     11 June 2001
# Whom:         Anders Nordby <anders@fix.no>
#
# $FreeBSD$
#

PORTNAME=   spread
PORTVERSION=    3.15.2
CATEGORIES= net perl5 java
MASTER_SITES=
DISTNAME=   ${PORTNAME}-src-${PORTVERSION}

MAINTAINER= anders@fix.no

.if defined(WITH_JAVA_LIB)
BUILD_DEPENDS=  ${LOCALBASE}/jdk1.1.8/bin/javac:${PORTSDIR}/java/jdk
.endif

MAKEFILE=   FreeBSD_makefile

MAN1=   spread.1
MAN3=   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

USE_PERL5=  yes
NO_CDROM=   "See the license: http://www.spread.org/license/"
NO_PACKAGE= "User and group needs to be created"
RESTRICTED= "See the license: http://www.spread.org/license/"
INSTALLS_SHLIB= yes

JAVASUBDIR= jdk1.1.8
JAVADIR=    ${PREFIX}/${JAVASUBDIR}
JAVALIBDIR= ${JAVADIR}/lib
DOCDIR=     ${PREFIX}/share/doc/${PORTNAME}

.if defined(WITH_JAVA_LIB)
PLIST_SUB+= JAVALIB='' JAVALIBDIR=${JAVASUBDIR}/lib
.if defined(NOPORTDOCS)
PLIST_SUB+= JAVALIB_DOCS='@comment '
.else
PLIST_SUB+= JAVALIB_DOCS=''
.endif
.else
PLIST_SUB+= JAVALIB='@comment ' JAVALIB_DOCS='@comment ' JAVALIBDIR=''
.endif

MAKE_ARGS+= PTHREAD_CFLAGS=${PTHREAD_CFLAGS} PTHREAD_LIBS=${PTHREAD_LIBS}

.include <bsd.port.pre.mk>

.if !exists(${DISTDIR}/${DISTNAME}${EXTRACT_SUFX})
IGNORE='You must fetch the source manually from http://www.cnds.jhu.edu/download/download_spread.cgi and copy the file to ${DISTDIR}. Then run make again.'
.endif

post-build:
    (cd ${WRKSRC}/perl/Spread-3.15.2-1.03; ${PERL} Makefile.PL; ${MAKE})
.if defined(WITH_JAVA_LIB)
    (cd ${WRKSRC}/java; ${JAVADIR}/bin/javac \
    splib_src/*.java -d ./)
.endif

do-install:
    @${SH} ${SCRIPTDIR}/createusergroup
    ${INSTALL_PROGRAM} ${WRKSRC}/spread ${PREFIX}/sbin
    ${INSTALL_PROGRAM} ${WRKSRC}/flooder ${PREFIX}/bin
    ${INSTALL_PROGRAM} ${WRKSRC}/monitor ${PREFIX}/bin
    ${INSTALL_PROGRAM} ${WRKSRC}/user ${PREFIX}/bin
    ${INSTALL_PROGRAM} ${WRKSRC}/tuser ${PREFIX}/bin
    ${INSTALL_DATA} ${WRKSRC}/libsp.a ${PREFIX}/lib
    ${INSTALL_DATA} ${WRKSRC}/libtsp.a ${PREFIX}/lib
    ${INSTALL_DATA} ${WRKSRC}/sp.h ${PREFIX}/include
    ${INSTALL_DATA} ${WRKSRC}/sample.spread.conf ${PREFIX}/etc/spread.conf.example
    ${INSTALL_MAN} ${WRKSRC}/docs/spread.1 ${PREFIX}/man/man1
    (cd ${WRKSRC}/perl/Spread-3.15.2-1.03 && ${MAKE} install)
    ${GZIP_CMD} ${GZIP} ${LOCALBASE}/lib/perl5/${PERL_VERSION}/man/man3/Spread.3
.if defined(WITH_JAVA_LIB)
    ${INSTALL} -d -o root -g wheel -m 0755 ${JAVALIBDIR}/${PORTNAME}
    ${INSTALL_DATA} ${WRKSRC}/java/spread/*.class ${JAVALIBDIR}/${PORTNAME}
.endif
.for f in ${MAN3}
    ${INSTALL_MAN} ${WRKSRC}/docs/${f} ${PREFIX}/man/man3
.endfor
.if !defined(NOPORTDOCS)
    ${INSTALL} -d -o root -g wheel -m 0755 ${DOCDIR}
    ${INSTALL_DATA} ${WRKSRC}/Readme.txt ${DOCDIR}
    ${INSTALL} -d -o root -g wheel -m 0755 ${DOCDIR}/perl
    ${INSTALL_DATA} ${WRKSRC}/perl/Spread-3.15.2-1.03/README ${DOCDIR}/perl
    ${INSTALL_DATA} ${WRKSRC}/perl/Spread-3.15.2-1.03/test.pl ${DOCDIR}/perl
.if defined(WITH_JAVA_LIB)
    ${INSTALL} -d -o root -g wheel -m 0755 ${DOCDIR}/java
    ${INSTALL_DATA} ${WRKSRC}/java/readme.txt ${DOCDIR}/java
    ${INSTALL_DATA} ${WRKSRC}/java/Flooder.java ${DOCDIR}/java
    ${INSTALL_DATA} ${WRKSRC}/java/User.java ${DOCDIR}/java
    ${INSTALL} -d -o root -g wheel -m 0755 ${DOCDIR}/java/html
    ${INSTALL} -d -o root -g wheel -m 0755 ${DOCDIR}/java/html/spread
    ${INSTALL_DATA} ${WRKSRC}/java/docs/*.html ${DOCDIR}/java/html
    ${INSTALL_DATA} ${WRKSRC}/java/docs/stylesheet.css ${DOCDIR}/java/html
    ${INSTALL_DATA} ${WRKSRC}/java/docs/spread/*.html ${DOCDIR}/java/html/spread
.endif
.endif
    @${ECHO} "================================================================================"
    @${ECHO} "NB: Create the directory /var/run/spread, with write permissions for the spread"
    @${ECHO} "user/group. The spread daemon will chroot there, and fail if it can't."
    @${ECHO} "================================================================================"

.include <bsd.port.post.mk>