PORTNAME=	kea
DISTVERSION=	3.0.3
CATEGORIES=	net
MASTER_SITES=	ISC/kea/${DISTVERSION}

MAINTAINER=	apevnev@me.com
COMMENT=	Alternative DHCP implementation by ISC
WWW=		https://kea.isc.org/

LICENSE=	MPL20
LICENSE_FILE=	${WRKSRC}/COPYING

BUILD_DEPENDS=	googletest>0:devel/googletest \
		rst2man:textproc/py-docutils@${PY_FLAVOR}
LIB_DEPENDS=	libboost_date_time.so:devel/boost-libs \
		liblog4cplus.so:devel/log4cplus

USES=		cmake:indirect compiler:c++11-lang cpe iconv meson pathfix \
		pkgconfig python shebangfix ssl tar:xz
CPE_VENDOR=	isc
CPE_VERSION=	${DISTVERSION:C/-.*//}
.if ${DISTVERSION:M*-*}
CPE_UPDATE=	${DISTVERSION:C/.*-//:tl}
.endif

USE_LDCONFIG=	yes
USE_RC_SUBR=	${PORTNAME}

SHEBANG_GLOB=	*.py *.in
python_OLD_CMD+=@PYTHON@

MESON_ARGS=	--auto-features=disabled \
		-Dcrypto=openssl \
		-Dnetconf=disabled

PORTDOCS=	AUTHORS CONTRIBUTING.md COPYING ChangeLog README SECURITY.md \
		code_of_conduct.md examples platforms.rst

OPTIONS_DEFINE=	DOCS MYSQL PGSQL
OPTIONS_SUB=	yes

MYSQL_USES=		mysql
MYSQL_MESON_ENABLED=	mysql
MYSQL_SUB_LIST=		REQ_MYSQL=mysql
MYSQL_SUB_LIST_OFF=	REQ_MYSQL=""

PGSQL_USES=		pgsql
PGSQL_MESON_ENABLED=	postgresql
PGSQL_SUB_LIST=		REQ_PGSQL=postgresql
PGSQL_SUB_LIST_OFF=	REQ_PGSQL=""
PGSQL_VARS=		WANT_PGSQL=client

post-build:
	(cd ${WRKSRC}/doc/sphinx/man; \
	for i in *.8.rst; do \
		${REINPLACE_CMD} -e 's|iscman::||' \
			-e 's|:manpage:||g' -e 's|:program:||' $$i; \
		rst2man $$i > $$(basename $$i .rst); \
	done)

post-install:
	@${MKDIR} ${STAGEDIR}${ETCDIR} ${STAGEDIR}/var/db/kea ${STAGEDIR}/var/run/kea
	${INSTALL_MAN} ${WRKSRC}/doc/sphinx/man/*.8 ${STAGEDIR}${PREFIX}/share/man/man8
	@(cd ${WRKSRC}/_build/src/bin/keactrl; \
	for i in *.conf; do \
		${INSTALL_DATA} $$i ${STAGEDIR}${ETCDIR}/$$i.sample; \
	done)

.include <bsd.port.mk>
