# Template file for 'clucene'
pkgname=clucene
version=2.3.3.4
revision=10
build_style=cmake
configure_args="-DENABLE_ASCII_MODE=OFF -DENABLE_PACKAGING=OFF
 -DBUILD_CONTRIBS_LIB:BOOL=ON -DLIB_DESTINATION:PATH=/usr/lib
 -DLUCENE_SYS_INCLUDES:PATH=/usr/include"
hostmakedepends="pkg-config"
makedepends="zlib-devel boost-devel"
short_desc="Text search engine written in C++"
maintainer="Orphaned <orphan@voidlinux.org>"
license="LGPL-2+/ASL-2.0"
homepage="https://clucene.sourceforge.net/"
distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-core-${version}.tar.gz"
checksum=ddfdc433dd8ad31b5c5819cc4404a8d2127472a3b720d3e744e8c51d79732eab

if [ "$XBPS_TARGET_LIBC" = musl ]; then
	# threading segfaults on musl
	configure_args+=" -DDISABLE_MULTITHREADING=BOOL:ON"
else
	configure_args+=" -DDISABLE_MULTITHREADING=OFF"
fi

if [ "$CROSS_BUILD" ]; then
	configure_args+=" -D_CL_HAVE_PTHREAD_MUTEX_RECURSIVE_EXITCODE=0"
	configure_args+=" -D_CL_HAVE_PTHREAD_MUTEX_RECURSIVE_EXITCODE__TRYRUN_OUTPUT=0"
	configure_args+=" -D_CL_HAVE_GCC_ATOMIC_FUNCTIONS_EXITCODE=0"
	configure_args+=" -D_CL_HAVE_GCC_ATOMIC_FUNCTIONS_EXITCODE__TRYRUN_OUTPUT=0"
	configure_args+=" -D_CL_HAVE_TRY_BLOCKS_EXITCODE=0"
	configure_args+=" -D_CL_HAVE_TRY_BLOCKS_EXITCODE__TRYRUN_OUTPUT=0"
	configure_args+=" -D_CL_HAVE_NAMESPACES_EXITCODE=0"
	configure_args+=" -D_CL_HAVE_NAMESPACES_EXITCODE__TRYRUN_OUTPUT=0"
	configure_args+=" -D_CL_HAVE_NO_SNPRINTF_BUG_EXITCODE=0"
	configure_args+=" -D_CL_HAVE_NO_SNPRINTF_BUG_EXITCODE__TRYRUN_OUTPUT=0"
	configure_args+=" -DLUCENE_STATIC_CONSTANT_SYNTAX_EXITCODE=0"
	configure_args+=" -DLUCENE_STATIC_CONSTANT_SYNTAX_EXITCODE__TRYRUN_OUTPUT=0"
fi

do_check() {
	cd build

	make ${makejobs} cl_test
	mkdir -p tmp
	cd bin
	TMP=../tmp ./cl_test
}

clucene-devel_package() {
	depends="${sourcepkg}>=${version}_${revision}"
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include
		vmove "usr/lib/*.so"
		vmove usr/lib/CLuceneConfig.cmake
		vmove usr/lib/pkgconfig
	}
}
