# Contributions from ArchLinux pkgname=vtk pkgver=8.1.1 pkgrel=1 pkgdesc='A software system for 3D computer graphics, image processing, and visualization' arch=('x86_64') url='http://www.vtk.org/' license=('BSD') depends=('gcc-libs') makedepends=('boost' 'cmake' 'doxygen' 'ffmpeg' 'gdal' 'glew' 'gnuplot' 'hdf5' 'java-environment' 'jsoncpp' 'lz4' 'mariadb' 'netcdf' 'openmpi' 'proj' 'python3-autobahn' 'python3-constantly' 'python3-incremental' 'python3-matplotlib' 'python3-mpi4py' 'python3-twisted' 'qt5-base' 'qt5-tools' 'qt5-webkit' 'qt5-x11extras' 'tk' 'unixodbc' 'wget') optdepends=('python3: python bindings' 'java-runtime: java bindings' 'tk: tcl bindings' 'gnuplot: plotting tools' 'graphviz: drawing tools' 'python3-constantly' 'python3-incremental' 'python3-matplotlib: for Matplotlib rendering' 'python3-twisted: for vtkWeb' 'python3-autobahn: for vtkWeb' 'python3-mpi4py: OpenMPI python support' 'openmpi: OpenMPI support' 'qt5-x11extras' 'qt5-webkit: WebKit support' 'ffmpeg' 'gdal' 'glew' 'hdf5' 'jsoncpp' 'lz4' 'mariadb' 'netcdf' 'proj' 'unixodbc') source=("http://www.vtk.org/files/release/${pkgver%.*}/VTK-${pkgver}.tar.gz" "http://www.vtk.org/files/release/${pkgver%.*}/VTKData-${pkgver}.tar.gz" "http://www.vtk.org/files/release/${pkgver%.*}/VTKLargeData-${pkgver}.tar.gz") options=(staticlibs) sha512sums=('7ab38042f6d94d1580125b3a68a6d17cdc3de925d0e886ebfc8c414adfba1438f5783d896a4cd1bb7e15462450107ab5773a3a749195b357f062e91d5c410060' '6c20cfb9dda9d64c27946693f22357f38699d2ff014c2f33e3b05573935eaf3b7a4e30a8cf5747772a6dafe39c20e90b78a0267620ff6b6d5b487edf8ef4f975' '9966b8474c22c2fb23a51e0411f06bc4f33e4233535d0b4875a87731c6c95e2c10c97565dc0e6af2af6c7ed7d5e5de171eddf9678cc4235a329cdaf36a021dd4') prepare() { mkdir build } build() { cd build # flags to enable using system libs local cmake_system_flags="" # TODO: try to use system provided XDMF2, XDMF3, GL2PS # VTK fails to compile with recent netcdf-cxx package, VTK should be ported to the latest API # VTK does not work with XDMF2 compiled from git. TODO: make vtk compatible with system XDMF library. # libharu needs to be patched, see https://github.com/libharu/libharu/pull/157 # Note: VTK explicitly disables system GLEW dependency, it uses embedded sources with modifications # system gl2ps is not used because of http://www.vtk.org/Bug/view.php?id=16083 for lib in EXPAT FREETYPE JPEG PNG TIFF ZLIB LIBXML2 OGGTHEORA TWISTED ZOPE SIX AUTOBAHN MPI4PY JSONCPP GLEW HDF HDF5 TXAIO HYPERLINK CONSTANTLY INCREMENTAL LZ4 NETCDF; do cmake_system_flags+="-DVTK_USE_SYSTEM_${lib}:BOOL=ON " done local _tkver=$(echo 'puts $tcl_version' | tclsh) cmake ../VTK-${pkgver} \ -Wno-dev \ -DCMAKE_SKIP_RPATH=ON \ -DCMAKE_INSTALL_LIBDIR=lib \ -DBUILD_SHARED_LIBS:BOOL=ON \ -DCMAKE_INSTALL_PREFIX:FILEPATH=/usr \ -DBUILD_DOCUMENTATION:BOOL=OFF \ -DDOXYGEN_KEEP_TEMP:BOOL=ON \ -DDOCUMENTATION_HTML_HELP:BOOL=OFF \ -DDOCUMENTATION_HTML_TARZ:BOOL=OFF \ -DBUILD_EXAMPLES:BOOL=ON \ -DXDMF_STATIC_AND_SHARED=OFF \ -DVTK_USE_FFMPEG_ENCODER:BOOL=ON \ -DVTK_USE_SYSTEM_LIBPROJ4:BOOL=OFF \ -DVTK_BUILD_ALL_MODULES:BOOL=ON \ -DVTK_USE_LARGE_DATA:BOOL=ON \ -DVTK_QT_VERSION:STRING="5" \ -DVTK_WRAP_JAVA:BOOL=ON \ -DVTK_WRAP_PYTHON:BOOL=ON \ -DVTK_WRAP_TCL:BOOL=ON \ -DCMAKE_CXX_FLAGS="-D__STDC_CONSTANT_MACROS" \ -DVTK_PYTHON_VERSION="3" \ -DVTK_CUSTOM_LIBRARY_SUFFIX="" \ -DVTK_INSTALL_INCLUDE_DIR:PATH=include/vtk \ -DVTK_INSTALL_TCL_DIR=/usr/lib/tcl${_tkver}/vtk/ \ ${cmake_system_flags} \ -DCMAKE_BUILD_TYPE=Release make } package() { cd build make DESTDIR="${pkgdir}" install # remove xdmf cmake config file rm -rf "${pkgdir}/usr/XdmfConfig.cmake" # Move the vtk.jar to the arch-specific location install -dv "${pkgdir}/usr/share/java/vtk" mv -v "${pkgdir}/usr/lib/vtk.jar" "${pkgdir}/usr/share/java/vtk" rm -rf "${pkgdir}/usr/lib/vtk-${pkgver%.*}/java" # Install license install -Dm644 "${srcdir}/VTK-${pkgver}/Copyright.txt" -t "${pkgdir}/usr/share/licenses/${pkgname}" # Fix path of QtDesigner plugin install -dv "${pkgdir}/usr/lib/qt" mv "${pkgdir}/usr/plugins" "${pkgdir}/usr/lib/qt/plugins" }