[skip-ci] vtk: added to repositories

This commit is contained in:
Francesco Marinucci 2018-09-26 15:44:13 +02:00
parent 9305c84831
commit be776147ea

119
vtk/PKGBUILD Normal file
View File

@ -0,0 +1,119 @@
# 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"
}