# Contributor: Leon Marz <main@lmarz.org>
# Maintainer: Leon Marz <main@lmarz.org>
pkgname=openvdb
pkgver=11.0.0
pkgrel=4
pkgdesc="Sparse volume data structure and tools"
url="https://www.openvdb.org/"
arch="aarch64 x86_64" # tests fail on all other arches
license="MPL-2.0"
makedepends="cmake clang onetbb-dev blosc-dev boost-dev python3-dev py3-pybind11-dev gtest-dev samurai"
subpackages="$pkgname-static $pkgname-nanovdb:nanovdb:noarch $pkgname-tools:tools $pkgname-dev py3-$pkgname:python"
source="$pkgname-$pkgver.tar.gz::https://github.com/AcademySoftwareFoundation/openvdb/archive/v$pkgver.tar.gz
	0001-fix-missing-template-arg-list-error.patch
	"

# deadlocked unit tests on builders
[ "$CARCH" = "aarch64" ] && options="$options !check"

build() {
	export CC=clang
	export CXX=clang++

	cmake -B build -G Ninja \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_INSTALL_LIBDIR=lib \
		-DBUILD_SHARED_LIBS=True \
		-DCMAKE_BUILD_TYPE=Release \
		-DOPENVDB_BUILD_PYTHON_MODULE=ON \
		-DOPENVDB_BUILD_UNITTESTS=ON \
		-DOPENVDB_BUILD_NANOVDB=ON \
		-DOPENVDB_ENABLE_RPATH=OFF

	cmake --build build
}

check() {
	cd build
	ctest
}

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

tools() {
	pkgdesc="$pkgdesc (Tools)"
	amove usr/bin
}

nanovdb() {
	pkgdesc="$pkgdesc (nanovdb)"
	amove usr/include/nanovdb
}

python() {
	pkgdesc="$pkgdesc (Python bindings)"
	amove 'usr/lib/python3*'
}

sha512sums="
f2c90ca8435ecbacefda429341000ecb555385c746a3e0233220cd78540cee2a26cc17df7b560fdfe2dc03f2b2e960a2fa226a85980189c3e018164ccc037bd4  openvdb-11.0.0.tar.gz
3da53ca468daf16dd661433ba6148dc7723d20dd6ddc3b81b60b77380a55c71b0bd8b7014f801bc2a02add5604cbe59b81441e5a0170029a7bb872e62d5a7b1b  0001-fix-missing-template-arg-list-error.patch
"
