9 DISTNAME= ${PORTNAME}-${PORTVERSION}-src
11 MAINTAINER= egypcio@FreeBSD.org
12 COMMENT= Network based Caller ID package
15 LICENSE_FILE= ${WRKSRC}/doc/GPL.md
17 BUILD_DEPENDS= ${RUN_DEPENDS}
18 LIB_DEPENDS= libpcre.so:devel/pcre
19 RUN_DEPENDS= bash:shells/bash
21 USES= compiler:c11 gmake perl5 tk shebangfix
23 SHEBANG_FILES= extensions/*.sh \
24 gateway/*.pl gateway/*.sh \
31 MAKE_ARGS= WISH=${WISH} TCLSH=${TCLSH}
32 INSTALL_TARGET= freebsd-install
34 SUB_FILES= pkg-message
36 OPTIONS_DEFINE= DOCS LOGROTATE
39 LOGROTATE_DESC= Install logrotate scripts
41 LOGROTATE_RUN_DEPENDS= logrotate:sysutils/logrotate
43 WRKSRC= ${WRKDIR}/${PORTNAME}
46 @cd ${WRKSRC}/FreeBSD;for i in *.rc; do \
47 x=`echo $$i | cut -f 1 -d .`; ${CP} $$i $$x; done
49 .include <bsd.port.pre.mk>
52 @${GREP} -lr 'etc/ncid' ${WRKSRC}/ | ${XARGS} ${REINPLACE_CMD} -Ee \
53 's,(/usr/local/etc/ncid | /etc/ncid),${ETCDIR},g'
54 @${FIND} ${WRKSRC}/ -name Makefile | ${XARGS} ${REINPLACE_CMD} -Ee \
55 '/install:/s,install-(etc|logrotate),,'
56 @${REINPLACE_CMD} -Ee '/mkdir.*(INIT|ROTATE|BIN|LOG|ETC)/d ;\
57 /CFLAGS.*=/s|=|+=|' ${WRKSRC}/Makefile
58 # Respect PREFIX/MANPREFIX/DATADIR
59 @${REINPLACE_CMD} -e 's|prefix.*= /usr/local|prefix=$${PREFIX}|g' \
60 -e 's|$$(prefix)/bin|$${PREFIX}/bin|g' \
61 -e 's|$$(prefix)/sbin|$${PREFIX}/sbin|g' \
62 -e 's|$$(prefix)/share|$${PREFIX}/share|g' \
63 -e 's|$$(SHARE)/man|$${MANPREFIX}/man/|g' \
64 -e 's|$$(SHARE)/ncid|$${DATADIR}|g' ${WRKSRC}/Makefile
65 .if ${CHOSEN_COMPILER_TYPE} == gcc
66 @${REINPLACE_CMD} -e 's|-Wno-stringop-truncation||g' \
67 ${WRKSRC}/Makefile ${WRKSRC}/server/Makefile
71 @${MKDIR} ${STAGEDIR}${ETCDIR}
72 ${INSTALL_PROGRAM} ${WRKSRC}/server/ncidd ${STAGEDIR}${PREFIX}/sbin
73 ${INSTALL_PROGRAM} ${WRKSRC}/gateway/ncid2ncid ${STAGEDIR}${PREFIX}/bin
74 ${INSTALL_PROGRAM} ${WRKSRC}/gateway/sip2ncid ${STAGEDIR}${PREFIX}/sbin
75 ${INSTALL_SCRIPT} ${WRKSRC}/client/ncid ${STAGEDIR}${PREFIX}/bin
76 ${INSTALL_DATA} ${WRKSRC}/client/ncid.conf ${STAGEDIR}${ETCDIR}/ncid.conf.sample
77 ${INSTALL_DATA} ${WRKSRC}/gateway/ncid2ncid.conf ${STAGEDIR}${ETCDIR}/ncid2ncid.conf.sample
78 ${INSTALL_DATA} ${WRKSRC}/gateway/sip2ncid.conf ${STAGEDIR}${ETCDIR}/sip2ncid.conf.sample
79 .for d in ncidd.alias ncidd.conf ncidd.blacklist ncidd.whitelist
80 ${INSTALL_DATA} ${WRKSRC}/server/${d} ${STAGEDIR}${ETCDIR}/${d}.sample
82 .for e in hangup-calls hangup-fakenum hangup-fcc hangup-nohangup \
83 hangup-closed-skel hangup-combo-skel hangup-message-skel hangup-skel
84 @${MKDIR} ${STAGEDIR}${PREFIX}/share/ncid/extensions
85 ${INSTALL_SCRIPT} ${WRKSRC}/extensions/${e} ${STAGEDIR}${PREFIX}/share/ncid/extensions
87 # ncid2ncid and sip2ncid are installed and stripped before this loop with ${INSTALL_PROGRAM}
88 .for f in email2ncid obi2ncid rn2ncid wc2ncid xdmf2ncid yac2ncid
89 ${INSTALL_SCRIPT} ${WRKSRC}/gateway/${f} ${STAGEDIR}${PREFIX}/bin
90 ${INSTALL_DATA} ${WRKSRC}/gateway/${f}.conf ${STAGEDIR}${ETCDIR}/${f}.conf.sample
92 ${INSTALL_DATA} ${WRKSRC}/client/ncid.gif ${STAGEDIR}${PREFIX}/share/pixmaps/ncid
93 @${MKDIR} ${STAGEDIR}${PREFIX}/share/ncid/modules
94 .for g in ncid-alert ncid-initmodem ncid-kpopup ncid-mysql ncid-mythtv ncid-notify ncid-page \
95 ncid-samba ncid-skel ncid-speak ncid-wakeup ncid-yac
96 ${INSTALL_SCRIPT} ${WRKSRC}/modules/${g} ${STAGEDIR}${PREFIX}/share/ncid/modules
98 ${INSTALL_DATA} ${WRKSRC}/server/ncidd.alias ${STAGEDIR}${ETCDIR}/ncidd.alias.sample
99 .for h in cidcall cidalias cidupdate wct ncidutil
100 ${INSTALL_SCRIPT} ${WRKSRC}/tools/${h} ${STAGEDIR}${PREFIX}/bin
102 .for i in ncid-initmodem ncid-mysql ncid-mythtv ncid-notify ncid-page ncid-samba ncid-speak ncid-yac \
103 ncid2ncid ncidd obi2ncid rn2ncid sip2ncid wc2ncid xdmf2ncid yac2ncid
104 ${INSTALL_DATA} ${WRKSRC}/FreeBSD/${i} ${STAGEDIR}${PREFIX}/etc/rc.d
106 .for j in CallingDeposit.rmd CannotBeCompleted.rmd DisconnectedNotInService.rmd NotInService.rmd
107 @${MKDIR} ${STAGEDIR}${PREFIX}/share/ncid/recordings
108 ${INSTALL_DATA} ${WRKSRC}/recordings/${j} ${STAGEDIR}${PREFIX}/share/ncid/recordings
110 .for k in ncid-email2ncid-setup ncid-mysql-setup ncid-setup
111 ${INSTALL_SCRIPT} ${WRKSRC}/setup/${k} ${STAGEDIR}${PREFIX}/bin
113 ${INSTALL_MAN} ${WRKSRC}/man/*.1 ${STAGEDIR}${MAN1PREFIX}/man/man1
114 ${INSTALL_MAN} ${WRKSRC}/man/*.5 ${STAGEDIR}${MAN5PREFIX}/man/man5
115 ${INSTALL_MAN} ${WRKSRC}/man/*.7 ${STAGEDIR}${MAN7PREFIX}/man/man7
116 ${INSTALL_MAN} ${WRKSRC}/man/*.8 ${STAGEDIR}${MAN8PREFIX}/man/man8
119 ${MKDIR} ${STAGEDIR}${DOCSDIR}/recordings
120 ${INSTALL_DATA} ${WRKSRC}/doc/*.md ${STAGEDIR}${DOCSDIR}
121 ${INSTALL_DATA} ${WRKSRC}/FreeBSD/README.FreeBSD ${STAGEDIR}${DOCSDIR}
122 .for l in README.recordings CallingDeposit.pvf CannotBeCompleted.pvf DisconnectedNotInService.pvf NotInService.pvf
123 ${INSTALL_DATA} ${WRKSRC}/recordings/${l} ${STAGEDIR}${DOCSDIR}/recordings
126 post-install-LOGROTATE-on:
127 @${MKDIR} ${STAGEDIR}${PREFIX}/share/ncid/sys
128 ${INSTALL_SCRIPT} ${WRKSRC}/tools/ncid-yearlog ${STAGEDIR}${PREFIX}/share/ncid/sys
129 ${INSTALL_SCRIPT} ${WRKSRC}/logrotate/ncidrotate ${STAGEDIR}${PREFIX}/share/ncid/sys
130 ${INSTALL_DATA} ${WRKSRC}/logrotate/ncidrotate.conf ${STAGEDIR}${ETCDIR}/ncidrotate.conf.sample
131 @${MKDIR} ${STAGEDIR}${PREFIX}/etc/logrotate.d
132 ${INSTALL_DATA} ${WRKSRC}/logrotate/ncid ${STAGEDIR}${PREFIX}/etc/logrotate.d
133 ${INSTALL_MAN} ${WRKSRC}/logrotate/*.1 ${STAGEDIR}${MAN1PREFIX}/man/man1
134 ${INSTALL_MAN} ${WRKSRC}/logrotate/*.5 ${STAGEDIR}${MAN5PREFIX}/man/man5
136 .include <bsd.port.post.mk>