# Contributor: Stefan Reimer <stefan@zero-downtime.net>
# Maintainer: Stefan Reimer <stefan@zero-downtime.net>
pkgname=fluent-bit
pkgver=3.1.10
pkgrel=0
pkgdesc="Fast and Lightweight Log processor and forwarder"
url="https://fluentbit.io/"
# riscv64, loongarch64: does not support bundled luajit
# arm: doesn't build
arch="all !armhf !armv7 !ppc64le !s390x !riscv64 !loongarch64"
license="Apache-2.0"
makedepends="
	bison
	cmake
	flex
	gtest-dev
	linux-headers
	musl-fts-dev
	openssl-dev
	yaml-dev
	zlib-dev
	"
subpackages="
	$pkgname-dev
	$pkgname-openrc
	"
source="$pkgname-$pkgver.tar.gz::https://github.com/fluent/fluent-bit/archive/v$pkgver.tar.gz
	fluent-bit.initd
	chunkio-static-lib-fts.patch
	exclude-luajit.patch
	musl-strerror_r.patch
	fluent-bit.confd
	fluent-bit.conf
	zdt-parsers.conf
	fluent-bit.logrotated
	"
# enable check when this solved - https://github.com/fluent/fluent-bit/issues/2464#issuecomment-673280055
# Disable all things AWS to make tests pass
options="!check"

build() {
	if [ "$CBUILD" != "$CHOST" ]; then
		CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux -DCMAKE_C_COMPILER=$CHOST-gcc"
	fi
	# default CORE_STACK_SIZE=((3 * PTHREAD_STACK_MIN) / 2)=3072 is invalid
	# set default to 24576
	# Disable stream processor due to issue see: https://github.com/fluent/fluent-bit/issues/2464

	cmake -B build \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_INSTALL_LIBDIR=lib \
		-DCMAKE_BUILD_TYPE=None \
		-DFLB_CORO_STACK_SIZE=24576 \
		-DFLB_RELEASE=Yes \
		-DFLB_DEBUG=Off \
		-DFLB_SIMD=Yes \
		-DFLB_SHARED_LIB=Off \
		-DFLB_JEMALLOC=Yes \
		-DFLB_PROXY_GO=No \
		-DFLB_PROFILES=No \
		-DFLB_AWS=No \
		-DFLB_SIGNV4=No \
		-DFLB_FILTER_AWS=No \
		-DFLB_OUT_S3=No \
		-DFLB_OUT_CLOUDWATCH_LOGS=No \
		-DFLB_OUT_KINESIS_FIREHOSE=No \
		-DFLB_OUT_KINESIS_STREAMS=No \
		-DFLB_OUT_BIGQUERY=No \
		-DFLB_EXAMPLES=No \
		-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
		 $CMAKE_CROSSOPTS .
	make -C build
		#-DCMAKE_FIND_LIBRARY_SUFFIXES=".a" \
		#-DCMAKE_EXE_LINKER_FLAGS="-static" \
		#-DFLB_STREAM_PROCESSOR=No \
		#-DFLB_LUAJIT=Yes \
		#-DFLB_FILTER_LUA=Off \
		#-DFLB_TESTS_INTERNAL=Yes \
}

check() {
	CTEST_OUTPUT_ON_FAILURE=1 make -C build test
}

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

	install -Dm755 "$srcdir"/$pkgname.initd \
		"$pkgdir"/etc/init.d/$pkgname
	install -Dm644 "$srcdir"/$pkgname.confd \
		"$pkgdir"/etc/conf.d/$pkgname

	mv "$pkgdir"/usr/etc/* "$pkgdir"/etc
	rm "$pkgdir"/etc/fluent-bit/fluent-bit.conf

	mkdir -p "$pkgdir"/var/spool/fluent-bit
	install -Dm644 "$srcdir/fluent-bit.conf" "$pkgdir/etc/fluent-bit/fluent-bit.conf"
	install -Dm644 "$srcdir/zdt-parsers.conf" "$pkgdir/etc/fluent-bit/zdt-parsers.conf"

	install -Dm644 "$srcdir"/fluent-bit.logrotated "$pkgdir"/etc/logrotate.d/fluentbit

	touch "$pkgdir"/etc/fluent-bit/metadata.conf
}

sha512sums="
88f63cd81aced94a0081ddf6963d5f92be1744a6ac27b20ca8c1e690629bfdd6c56d4d2cb72976feebb2dff8fefc6aeac988deba9efb4ddcb87c18131399f5ac  fluent-bit-3.1.10.tar.gz
8ba6c8e84dee90176f9b4375fb2c6444fa5d32fa601d9bcf3ea7960fec87f1ef664f175caf08bd0b052843e971efdbf08e2a5cd180ad9a8f23ff2c5cb233814f  fluent-bit.initd
6bd7d8b4da93a17f29b6ea1e0286ea226d0e376024284741110936779b3229bd8d6cd03ffbdc5d3b4842294e7f32a888de0dd16b0851b65d91b062ca58530ea0  chunkio-static-lib-fts.patch
aa1449f8f4599330e1a01c2837f22cb1d10ce5926d9cb92f92fb89939c7b6af3116d3339566709ad466ebf6e37a5b178e84619ec6a1608327241a0374992be81  exclude-luajit.patch
f11e4e6f674e2e7d56f3b77e1f6f0afbf1d15004f5d43d91080697ec39ef53d330565c46b02cb5d97612450fe0cc0a9e9a4c895c0fe021057a7cc2b6e62557bc  musl-strerror_r.patch
f6431397c80a036980b5377b51e38aec25dfceeb8dbe4cd54dce1f6e77d669d9f8daf983fcc96d25332385888f1809ced5e8ab0e8ccfcd93d19494036e3dc949  fluent-bit.confd
52aba9d23584d64842bc967504701a10166a43a03ca0d31de9b6cbffaacdbaa7d99f0fd55a4b0194e3b65d456817cb1779b86d468d81c1d9681a6fa708e85449  fluent-bit.conf
31899a3c68bbb43adb9025a3a46bad4ca0c740d5bca5c252c8667197575698d98ac4a3b6e11ee160c4bb8df0d0089b639bfd7d0ffa52391e6c4f8f734a6952a6  zdt-parsers.conf
e166b0ff11a1789599e93f86b72102ca6a06725c98553a8fdd48c8d6414bfa765c3958d07bfb4c4d99101d8cdf7d00db1a8506d48c2cbd6bd375ce43c43d2bf9  fluent-bit.logrotated
"