# Template file for 'paraview'
pkgname=paraview
version=5.8.1
revision=3
wrksrc=ParaView-v${version}
build_style=cmake
configure_args="-DCMAKE_PREFIX_PATH=${XBPS_CROSS_BASE}/usr
 -DPARAVIEW_ENABLE_FFMPEG=ON
 -DPARAVIEW_ENABLE_GDAL=ON
 -DPARAVIEW_USE_PYTHON=ON
 -DPARAVIEW_USE_MPI=ON
 -DVTK_PYTHON_FULL_THREADSAFE=ON
 -DVTK_PYTHON_VERSION=3
 -DVTK_SMP_IMPLEMENTATION_TYPE=TBB
 -DVTKm_ENABLE_MPI=ON
 -DVTKm_ENABLE_RENDERING=ON
 -DVTKm_USE_DOUBLE_PRECISION=ON"
#make_build_args="VERBOSE=1"
hostmakedepends="pkg-config which python3"
# TODO: find some way of making this work with system vtk
makedepends="MesaLib-devel libfreeglut-devel glu-devel libXt-devel
 openmpi-devel qt5-devel qt5-x11extras-devel qt5-tools-devel qt5-plugin-mysql
 qt5-plugin-odbc qt5-plugin-pgsql qt5-plugin-sqlite qt5-plugin-tds
 qt5-svg-devel qt5-xmlpatterns python3-devel double-conversion-devel eigen
 expat-devel freetype-devel glew-devel hdf5-devel libjpeg-turbo-devel
 jsoncpp-devel proj-devel libxml2-devel liblzma-devel liblz4-devel netcdf-devel
 libogg-devel libpng-devel pugixml-devel libtheora-devel tiff-devel zlib-devel
 protobuf-devel protobuf python3-Pygments ffmpeg-devel tbb-devel boost-devel
 libgdal-devel python3-mpi4py"
depends="openmpi"
short_desc="Application for interactive, scientific visualization"
maintainer="Anders Damsgaard <anders@adamsgaard.dk>"
license="BSD-3-Clause"
homepage="https://www.paraview.org"
distfiles="https://www.paraview.org/paraview-downloads/download.php?submit=Download&version=v${version:0:3}&type=source&os=Sources&downloadFile=ParaView-v${version}.tar.xz>paraview-${version}.tar.xz"
checksum=7653950392a0d7c0287c26f1d3a25cdbaa11baa7524b0af0e6a1a0d7d487d034

CFLAGS="-DYYERROR_VERBOSE -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DGNU_SOURCE -fcommon"
CXXFLAGS="${CFLAGS}"

# qhelpgenerator: could not find a Qt installation of ''
export QT_SELECT="5"

if [ "$XBPS_TARGET_LIBC" = musl ]; then
	makedepends+=" libexecinfo-devel"
	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-lexecinfo"
fi
if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
	makedepends+=" libatomic-devel"
fi

post_extract() {
	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
		echo "vtk_module_link(VTK::CommonDataModel PRIVATE atomic)" >> \
			VTK/Common/DataModel/CMakeLists.txt
		echo "target_link_libraries(protobuf PRIVATE atomic)" >> \
			ThirdParty/protobuf/vtkprotobuf/src/CMakeLists.txt
	fi
}

pre_configure() {
	# use smaller debug info for 32-bit targets
	if [ "$XBPS_TARGET_WORDSIZE" = "32" ]; then
		export CFLAGS="${CFLAGS/-g/-g1}"
		export CXXFLAGS="${CXXFLAGS/-g/-g1}"
	fi
	# conserve linker memory on 32-bit hosts
	if [ "$XBPS_WORDSIZE" = "32" ]; then
		export LDFLAGS+=" -Wl,--no-keep-memory"
	fi
}

post_install() {
	vlicense Copyright.txt
}
