# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=ipfixcol2
pkgver=2.8.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="
ec027e700f97036db35778a471c17c0fb011561919b2b9152d5ad534653cbba31e85af9db9ac3793876f251577d54459aa660a77cb3045ff5d6d73a5d3d5f6b9  ipfixcol2-2.8.0.tar.gz
5ec69c6f3d8132cddd65b3e92adc40bba98bbe40a49eccbb635619a7e46ae33f87efb426e24138d694eb43ad00b6d4d07df0c4c8c4fa63dd00557e49eeb91f7a  remove-GLOB_BRACE.patch
0e8101e7e1e24bd2693cd4412f861733d489c2ac968ad751f6151b209a651b33901178e19cfd7b47e8b62c9c743c7e9b9b554b62b49e0a7e2858dffcf6b79e35  ungit.patch
47402ab4fb1d9a15c420e43b799a61ccde774a2829e3850134d7d13566d23eda309d7bb8fedc817637b47fd6514c77740bedc915548acd8d9fefd1b9daddb0f3  json-output-without-kafka.patch
e16ab638e40f6ba57934a284decefd7354b839ae1c0f772a3fd2ed683df055f9cb5550e6cc76aadc286ab4be3575e34d0e81b41fcbf2d4f718953cd971cb8b56  log-to-syslog.patch
a1194a389bb129f8b04b57b7fd81644bc7a3d31818f678826b73c597d046165a3a3b47bbe32c5ef341e51768de877c5e18e8aa645dc4d0c1131eb00b9641e31a  ipfixcol2.initd
a7b90ce9ef3b6606a49841a94d01015e5ddfb283f1078637a516be3a46a8a24edf8d960740a20e838392f9f1416cde8da4d9b7d6fdee08c6210945e2e20315b5  ipfixcol2.confd
"
