# $OpenBSD: Makefile,v 1.15 2014/07/19 22:36:13 ajacoutot Exp $

# THIS IS A WORK IN PROGRESS, IT IS NOT YET READY FOR USE.
#
# Remaining problems:

# 1. tests fail for sthen but not rpe ... from cd ${WRKBUILD}; ctest --verbose:
#
# libicinga.so: undefined symbol '_ZN6icinga11AExpression9OpLiteralEPKS0_RKN5boost10shared_ptrINS_10DictionaryEEE'
# libicinga.so: undefined symbol '_ZN6icinga11AExpression5OpSetEPKS0_RKN5boost10shared_ptrINS_10DictionaryEEE'
# libicinga.so: undefined symbol '_ZN6icinga10ObjectRule12RegisterTypeERKNS_6StringERKN5boost8functionIFvRKSt6vectorIS0_SaIS0_EEEEE'
# lazy binding failed!
# Test setup error: memory access violation at address: 0x00000000: no mapping at fault address
#
# Only obvious difference in build log is that -rpath-link is ordered
# differently, /usr/X11R6/lib:/usr/local/lib vs /usr/local/lib:/usr/X11R6/lib

# 2. directory structure and chroot.
# icinga1: /var/icinga /var/log/icinga /etc/icinga in chroot and symlinked
# icinga2: s/icinga/icinga2 and adds /var/{lib,spool}/icinga2 - are these
# required in chroot? add to README if needed.
#
# for OpenBSD hier it *ought* to use var/db/icinga2 rather than var/lib/icinga2
# but this is rather an intrusive change in the code..

SHARED_ONLY =	Yes

COMMENT-main =	network monitoring system
COMMENT-mysql =	MySQL support for icinga2
COMMENT-pgsql =	PostgreSQL support for icinga2

V =		2.0.1
DISTNAME =	icinga2-$V
PKGNAME-main =	icinga2-$V
PKGNAME-mysql =	icinga2-mysql-$V
PKGNAME-pgsql =	icinga2-pgsql-$V

REVISION-main =	0

HOMEPAGE =	https://www.icinga.org/icinga2/

# GPLv2+ with OpenSSL exemption
PERMIT_PACKAGE_CDROM =	Yes

WANTLIB += boost_program_options-mt boost_regex-mt boost_system-mt
WANTLIB += boost_thread-mt crypto execinfo m pthread ssl stdc++

# switch to a proper uploaded tar (rather than github autogenerated
# file) if one becomes available
GH_ACCOUNT =		Icinga
GH_PROJECT =		icinga2
GH_TAGNAME =		v$V
GH_COMMIT =		b80c3b2df420bfb0a5830ecd51750c2d247b4e20
WRKDIST =		${WRKDIR}/${DISTNAME}

MODULES =		devel/cmake

BUILD_DEPENDS =		devel/bison \
			devel/flex
LIB_DEPENDS =		devel/boost \
			devel/libexecinfo
RUN_DEPENDS =           ${BASE_PKGPATH},-main

MULTI_PACKAGES =	-main -mysql -pgsql

WANTLIB-main +=		${WANTLIB} c
RUN_DEPENDS-main =	net/monitoring-plugins

WANTLIB-mysql +=	${WANTLIB} mysqlclient_r
LIB_DEPENDS-mysql =	${LIB_DEPENDS} databases/mysql
RUN_DEPENDS-mysql =	${BASE_PKGPATH},-main

WANTLIB-pgsql +=	${WANTLIB} pq
LIB_DEPENDS-pgsql =	${LIB_DEPENDS} databases/postgresql
RUN_DEPENDS-pgsql =	${BASE_PKGPATH},-main

CONFIGURE_ARGS += \
	-DCMAKE_INSTALL_MANDIR:String="${PREFIX}/man" \
	-DCMAKE_INSTALL_SYSCONFDIR:String="${SYSCONFDIR}" \
	-DCMAKE_INSTALL_LOCALSTATEDIR:String="${LOCALSTATEDIR}" \
	-DICINGA2_COMMAND_USER:String="_icinga" \
	-DICINGA2_COMMAND_GROUP:String="_icingacmd" \
	-DICINGA2_USER:String="_icinga" \
	-DICINGA2_GROUP:String="_icinga" \
	-DICINGA2_GIT_VERSION_INFO:Boolean="OFF" \
	-DICINGA2_SYSCONFIGFILE:String="${PREFIX}/share/examples/icinga2/sysconfig"

CFLAGS +=	-pthread
LDFLAGS +=	-lpthread

pre-configure:
	ln -sf ${LOCALBASE}/bin/gflex ${WRKDIR}/bin/flex
	@${SUBST_CMD} ${WRKSRC}/etc/icinga2/constants.conf

post-configure:
	perl -pi -e 's,}${SYSCONFDIR}/icinga2,}${TRUEPREFIX}/share/examples/icinga2,g' \
	    ${WRKBUILD}/etc/cmake_install.cmake

.include <bsd.port.mk>
