# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=ipfixcol2
pkgver=2.6.0
pkgrel=0
pkgdesc="High-performance NetFlow v5/v9 and IPFIX collector"
url="https://github.com/CESNET/ipfixcol2"
arch="all"
license="BSD-3-Clause OR GPL-2.0-or-later"
makedepends="
	cmake
	cmd:rst2man
	libfds-dev
	librdkafka-dev
	linux-headers
	samurai
	"
checkdepends="gtest-dev"
install="$pkgname.pre-install"
subpackages="
	$pkgname-dev
	$pkgname-doc
	$pkgname-kafka
	$pkgname-openrc
	"
source="https://github.com/CESNET/ipfixcol2/archive/v$pkgver/ipfixcol2-$pkgver.tar.gz
	remove-GLOB_BRACE.patch
	ungit.patch
	json-output-without-kafka.patch
	log-to-syslog.patch
	$pkgname.initd
	$pkgname.confd
	"
options="!check"  # FIXME

prepare() {
	default_prepare

	case "$CARCH" in
	x86*) ;;
	# fdsdump needs xmmintrin.h which is x86-specific.
	*) sed -i '/fdsdump/d' src/tools/CMakeLists.txt ;;
	esac
}

build() {
	local crossopts
	[ "$CBUILD" != "$CHOST" ] \
		&& crossopts="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"

	cmake -B build -G Ninja \
		-DCMAKE_BUILD_TYPE=Release \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_INSTALL_LIBDIR=lib \
		-DBUILD_SHARED_LIBS=ON \
		-DENABLE_TESTS="$(want_check && echo ON || echo OFF)" \
		$crossopts
	cmake --build build
}

check() {
	ctest --test-dir build
}

package() {
	DESTDIR="$pkgdir" cmake --install build

	install -D -m644 doc/data/configs/*.xml -t "$pkgdir"/usr/share/doc/$pkgname/

	install -D -m755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
	install -D -m644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
}

kafka() {
	pkgdesc="JSON Kafka plugin for IPFIXcol2"
	depends="$pkgname=$pkgver-r$pkgrel"

	amove usr/lib/ipfixcol2/libjson-kafka-output.so
}

sha512sums="
328fc11dd0bc4c3d5a92ca79bd64571a8a6f6633d325740e7bfe31f041f8dad916d759a0142fa555a509524eae47583fef0d921b3e8d37ab0517035a2483c5bc  ipfixcol2-2.6.0.tar.gz
efb71a8778a5a614255d800b5595fda11a3399a76b92716e63a0e573f858d0337a58a8c1e428d6b5a613ae7edab8ac3757dae4734f897401d30225f6805cdbbd  remove-GLOB_BRACE.patch
0e8101e7e1e24bd2693cd4412f861733d489c2ac968ad751f6151b209a651b33901178e19cfd7b47e8b62c9c743c7e9b9b554b62b49e0a7e2858dffcf6b79e35  ungit.patch
47402ab4fb1d9a15c420e43b799a61ccde774a2829e3850134d7d13566d23eda309d7bb8fedc817637b47fd6514c77740bedc915548acd8d9fefd1b9daddb0f3  json-output-without-kafka.patch
e16ab638e40f6ba57934a284decefd7354b839ae1c0f772a3fd2ed683df055f9cb5550e6cc76aadc286ab4be3575e34d0e81b41fcbf2d4f718953cd971cb8b56  log-to-syslog.patch
a1194a389bb129f8b04b57b7fd81644bc7a3d31818f678826b73c597d046165a3a3b47bbe32c5ef341e51768de877c5e18e8aa645dc4d0c1131eb00b9641e31a  ipfixcol2.initd
a7b90ce9ef3b6606a49841a94d01015e5ddfb283f1078637a516be3a46a8a24edf8d960740a20e838392f9f1416cde8da4d9b7d6fdee08c6210945e2e20315b5  ipfixcol2.confd
"
