# Contributor: Marian Buschsieweke <marian.buschsieweke@posteo.net>
# Contributor: Aiden Grossman <agrossman154@yahoo.com>
# Maintainer:
pkgname=vtk
pkgver=9.3.1
pkgrel=1
pkgdesc="A software system for 3D computer graphics, image processing and visualization"
url="https://vtk.org/"
# s390x blocked by netcdf
arch="all !s390x"
license="BSD-3-Clause"
depends_dev="
	boost-dev
	curl-dev
	doxygen
	ffmpeg-dev
	gdal-dev
	glew-dev
	hdf5-dev
	jpeg-dev
	libaec-dev
	libpng-dev
	libxml2-dev
	netcdf-dev
	openmpi-dev
	pdal-dev
	proj-dev
	qt5-qtbase-dev
	qt5-qttools-dev
	qt5-qtx11extras-dev
	sqlite-dev
	tk-dev
	unixodbc-dev
	zlib-dev
	"
makedepends="$depends_dev
	cmake
	samurai
	"
checkdepends="
	xvfb-run
	mesa-dri-gallium
	"
subpackages="$pkgname-doc $pkgname-dev"
source="
	https://www.vtk.org/files/release/${pkgver%.*}/VTK-$pkgver.tar.gz
	https://www.vtk.org/files/release/${pkgver%.*}/VTKData-$pkgver.tar.gz
	https://www.vtk.org/files/release/${pkgver%.*}/VTKLargeData-$pkgver.tar.gz
	disable-tests.patch
	fillvalue.patch
	lfs64.patch
	unistd.patch
	loongarch64.patch
	"
builddir="$srcdir/VTK-$pkgver"

case "$CARCH" in
# Tests on RISC-V should be re-enabled when llvmpipe has proper RISC-V support.
# cf. https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26018
# Test fail on all architecures
riscv64|loongarch64|*) options="$options !check" ;;
esac

build() {
	CXXFLAGS="$CXXFLAGS -DLOGURU_STACKTRACES=0" \
	cmake -B build -G Ninja \
		-Wno-dev \
		-DCMAKE_SKIP_INSTALL_RPATH=ON \
		-DCMAKE_INSTALL_LIBDIR=lib \
		-DBUILD_SHARED_LIBS=ON \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DVTK_USE_LARGE_DATA=ON \
		-DVTK_PYTHON_VERSION="3" \
		-DVTK_CUSTOM_LIBRARY_SUFFIX="" \
		-DCMAKE_BUILD_TYPE=Release \
		-DVTK_MODULE_USE_EXTERNAL_VTK_hdf5=ON \
		-DVTK_MODULE_USE_EXTERNAL_VTK_libproj=ON \
		-DVTK_MODULE_USE_EXTERNAL_VTK_netcdf=ON \
		-DVTK_BUILD_TESTING="$(want_check && echo ON || echo OFF)"
	cmake --build build
}

check() {
	xvfb-run -a ctest \
		--rerun-failed \
		--output-on-failure \
		-E 'FiltersCoreCxx-TestFeatureEdges' \
		--test-dir ./build
}

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

sha512sums="
5dcd6764b2d9fe476bcc7bd195fab8230b7628579d94656ab037dcaecd07c7d40d0fc4afba446942ca15cd881df17f4c84581047e75a6e11d2e2d339d97c7fa3  VTK-9.3.1.tar.gz
befc6b68e33d2c2fb6928006d4fe6feda7e0bbaf31df4488911ab8e3865e3fc1cf3834301301aa2b6de94c4489eebf5e2e8521e8830315d2a1f0e65cb73a6fd3  VTKData-9.3.1.tar.gz
edf5610edfae90f8465d68e0e06e82018978ba27f5b2ae9701939aeb72019acaabeda435c15787f1c4828b44e34c79e2837565a81d6a3accd368a92c6eacebd1  VTKLargeData-9.3.1.tar.gz
8d3dcbd8cc944e14c3dd22bad054e4398c5bfb10477d7a6e3accc97f3c39da2da46928a1c31e31500f199593e26b74423988dd5c390880d13544cae717a02ccc  disable-tests.patch
b653ba248444fb908593624a7fcac99f0bbf1817ac794cd3a4c61af06d23332dc3d57a4c622ccc647266b89df0c3f4e5fbe9164030d269f518edfc3268be56e3  fillvalue.patch
ec8d73f9fa425c4ad4caa9031e656ecb2d89db7ea31df0fa029ef45dc832b76557b4fef306d2c40ca8694b4bad8f37c0c8672face34728f1bcc764c6df039c6b  lfs64.patch
e814f5d8edc72d868b0209c878702b83723f46215ec1d681058c23c33ed16d6f9a917932705fb37afe8a8915c42bcb639fb2beb553ec103f0a85a08463771668  unistd.patch
3914161f70bca79b438e8aba2f9c3185702ea7c251c1280b275188babb3254a60ab78953307cb93eb1d43060cf44cb3c5ce2f325573ba6df6864420f349e1206  loongarch64.patch
"
