1PORTNAME=	portscout
2PORTVERSION=	0.8.1.6
3CATEGORIES=	ports-mgmt
4
5MAINTAINER=	ports@MidnightBSD.org
6COMMENT=	Tool to scan for new versions of BSD ports
7WWW=		https://www.inerd.com/software/portscout/
8
9LICENSE=	bsd2
10
11RUN_DEPENDS=	p5-DBI>=0:databases/p5-DBI \
12		p5-CGI>=0:www/p5-CGI \
13		p5-Proc-Queue>=0:devel/p5-Proc-Queue \
14		p5-URI>=0:net/p5-URI \
15		p5-XML-XPath>=0:textproc/p5-XML-XPath \
16		p5-MIME-Lite>=0:mail/p5-MIME-Lite \
17		p5-libwww>=0:www/p5-libwww \
18		p5-JSON>0:converters/p5-JSON
19
20USES=		perl5 shebangfix
21USE_GITHUB=	yes
22GH_ACCOUNT=	freebsd
23GH_TAGNAME=	f1a90b0
24
25OPTIONS_DEFINE=		DOCS HTTPS
26OPTIONS_DEFAULT=	HTTPS PGSQL
27
28OPTIONS_MULTI=		DATABASE
29OPTIONS_MULTI_DATABASE=	SQLITE PGSQL
30
31DATABASE_DESC=	Database Backends
32
33NO_ARCH=	yes
34NO_BUILD=	yes
35SHEBANG_FILES=	${WRKSRC}/portscout.pl
36
37PORTDOCS=	UPDATING portscout-portconfig.txt xml-datasrc-example.xml
38
39HTTPS_RUN_DEPENDS=	p5-LWP-Protocol-https>=0:www/p5-LWP-Protocol-https
40
41SQLITE_USES=		sqlite
42SQLITE_RUN_DEPENDS=	p5-DBD-SQLite>=0:databases/p5-DBD-SQLite
43
44PGSQL_USES=		pgsql
45PGSQL_RUN_DEPENDS=	p5-DBD-Pg>=0:databases/p5-DBD-Pg
46
47.include <bsd.mport.options.mk>
48
49pre-everything::
50.if ${PORT_OPTIONS:MSQLITE}
51	@${ECHO_MSG} "+-------------------------------------------------------------+"
52	@${ECHO_MSG} "| Warning! although SQLite is supported, portscout will only  |"
53	@${ECHO_MSG} "| operate in non-forking mode with this database backend. It  |"
54	@${ECHO_MSG} "| is therefore recommended only for use with light workloads. |"
55	@${ECHO_MSG} "+-------------------------------------------------------------+"
56.endif
57
58pre-install:
59	@${REINPLACE_CMD} -e "s#^\(templates .*\)/etc#\1/share#"	\
60	                  -e "s#^prefix\( *= *\).*#prefix\1${TRUE_PREFIX}#"	\
61	                  ${WRKSRC}/portscout.conf
62	@${REINPLACE_CMD} -e "s#^\(.*PREFIX.*=> *\)'.*'#\1'${TRUE_PREFIX}'#"	\
63	                  ${WRKSRC}/Portscout/Const.pm
64	@${MV} ${WRKSRC}/docs/*.* ${WRKSRC}
65
66pre-install-SQLITE-on:
67	@${REINPLACE_CMD} 's/^\([^#]*DBI:Pg.*\)$$/#\1/g' ${WRKSRC}/portscout.conf
68	@${REINPLACE_CMD} 's/^#\(.*DBI:SQLite.*\)$$/\1/g' ${WRKSRC}/portscout.conf
69
70do-install:
71	@${MKDIR} ${PREFIX}/${SITE_PERL_REL}/Portscout
72	@${MKDIR} ${PREFIX}/${SITE_PERL_REL}/Portscout/DataSrc
73	@${MKDIR} ${PREFIX}/${SITE_PERL_REL}/Portscout/SiteHandler
74	@${MKDIR} ${PREFIX}/${SITE_PERL_REL}/Portscout/SQL
75	${INSTALL_SCRIPT} ${WRKSRC}/Portscout/*.pm ${PREFIX}/${SITE_PERL_REL}/Portscout/
76	${INSTALL_SCRIPT} ${WRKSRC}/Portscout/DataSrc/*.pm ${PREFIX}/${SITE_PERL_REL}/Portscout/DataSrc/
77	${INSTALL_SCRIPT} ${WRKSRC}/Portscout/SiteHandler/*.pm ${PREFIX}/${SITE_PERL_REL}/Portscout/SiteHandler/
78	${INSTALL_SCRIPT} ${WRKSRC}/Portscout/SQL/*.pm ${PREFIX}/${SITE_PERL_REL}/Portscout/SQL/
79	${INSTALL_SCRIPT} ${WRKSRC}/Portscout.pm ${PREFIX}/${SITE_PERL_REL}/Portscout.pm
80	${INSTALL_SCRIPT} ${WRKSRC}/portscout.pl ${PREFIX}/bin/portscout
81
82	${INSTALL_DATA} ${WRKSRC}/portscout.pod ${PREFIX}/${SITE_PERL_REL}
83
84	pod2man ${WRKSRC}/portscout.pod ${WRKSRC}/portscout.1
85	${INSTALL_MAN} ${WRKSRC}/portscout.1 ${PREFIX}/share/man/man1/
86
87	@${MKDIR} ${DATADIR}/templates
88	cd ${WRKSRC}/templates \
89	  && ${INSTALL_DATA} * ${DATADIR}/templates
90
91	@${MKDIR} ${DATADIR}/sql
92	cd ${WRKSRC}/sql && ${INSTALL_DATA} *.sql ${DATADIR}/sql
93
94	${INSTALL_DATA} ${WRKSRC}/portscout.conf ${PREFIX}/etc/portscout.conf.sample
95
96do-install-DOCS-on:
97	@${MKDIR} ${FAKE_DESTDIR}${DOCSDIR}
98.	for f in ${PORTDOCS}
99		${INSTALL_DATA} ${WRKSRC}/${f} ${FAKE_DESTDIR}${DOCSDIR}
100.	endfor
101
102test:
103	${PERL} ${WRKSRC}/t/00-use.t
104	${PERL} ${WRKSRC}/t/01-vercompare.t
105.if ${PORT_OPTIONS:MSQLITE}
106	${PERL} ${WRKSRC}/t/10-sqlite.t
107#.else
108#	${PERL} ${WRKSRC}/10-postgresql.t
109.endif
110
111.include <bsd.port.mk>
112