summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO84
-rw-r--r--.shellcheckrc6
-rw-r--r--PKGBUILD150
-rw-r--r--vtk-freetype-2.10.3.patch18
4 files changed, 258 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..c1093238d765
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,84 @@
+pkgbase = vtk8
+ pkgdesc = A software system for 3D computer graphics, image processing, and visualization
+ pkgver = 8.2.0
+ pkgrel = 21
+ url = https://www.vtk.org/
+ arch = x86_64
+ license = BSD
+ makedepends = cmake
+ makedepends = boost
+ makedepends = doxygen
+ makedepends = ffmpeg
+ makedepends = gdal
+ makedepends = gnuplot
+ makedepends = java-environment
+ makedepends = openmpi
+ makedepends = python-matplotlib
+ makedepends = qt5-base
+ makedepends = qt5-tools
+ makedepends = qt5-webkit
+ makedepends = qt5-x11extras
+ makedepends = tk
+ makedepends = unixodbc
+ makedepends = wget
+ makedepends = double-conversion
+ makedepends = eigen
+ makedepends = expat
+ makedepends = freetype2
+ makedepends = glew
+ makedepends = hdf5
+ makedepends = libjpeg
+ makedepends = jsoncpp
+ makedepends = libxml2
+ makedepends = lz4
+ makedepends = xz
+ makedepends = python-mpi4py
+ makedepends = netcdf
+ makedepends = libogg
+ makedepends = pdal
+ makedepends = libpng
+ makedepends = libtheora
+ makedepends = libtiff
+ makedepends = zlib
+ makedepends = sqlite
+ depends = gcc-libs
+ depends = double-conversion
+ optdepends = gnuplot: plotting tools
+ optdepends = graphviz: drawing tools
+ optdepends = java-runtime: java bindings
+ optdepends = python: python bindings
+ optdepends = python-mpi4py: OpenMPI python support
+ optdepends = python-matplotlib: for Matplotlib rendering
+ optdepends = openmpi: OpenMPI support
+ optdepends = qt5-x11extras
+ optdepends = qt5-webkit: WebKit support
+ optdepends = tk: tcl bindings
+ optdepends = ffmpeg
+ optdepends = gdal
+ optdepends = glew
+ optdepends = hdf5
+ optdepends = jsoncpp
+ optdepends = lz4
+ optdepends = netcdf
+ optdepends = pdal
+ optdepends = sqlite
+ optdepends = unixodbc
+ provides = vtk=8.2.0
+ conflicts = vtk
+ options = staticlibs
+ source = https://www.vtk.org//files/release/8.2/VTK-8.2.0.tar.gz
+ source = https://www.vtk.org//files/release/8.2/VTKData-8.2.0.tar.gz
+ source = https://www.vtk.org//files/release/8.2/VTKLargeData-8.2.0.tar.gz
+ source = vtk-python-3.8.patch::https://gitlab.kitware.com/vtk/vtk/merge_requests/5883.patch
+ source = vtk-gcc10.patch::https://gitlab.kitware.com/vtk/vtk/-/commit/a9079bdc.patch
+ source = vtk-qt5.15.patch::https://gitlab.kitware.com/vtk/vtk/-/commit/797f2869.patch
+ source = vtk-freetype-2.10.3.patch
+ sha512sums = 521bd4dabedbc24b0e80a314a34ecd7554b04af28a7973245e3a9cf99a09b995d1b8ac42305c8e53369f226a0a6da3cdb29105ba2c90b46492736ef717760286
+ sha512sums = 517d0f6dfdb0c61f59df933f06d3a28c8a48ea684aaff311456213fe493e2a20128886144325fc4edfa376b2d375a2dae6c60ad6e3d5d2f4a7b0ac1d8545c87b
+ sha512sums = 8a7ea3d5870b1e4ccb31c77b4c270d00208349da1b2938e957210db3ec1449b678c66edc2faee1d4514aca6d725f642abc91e10ab0c151f6743cad1c53485588
+ sha512sums = 05a367dbb21c95f6e03e30c1c520357f60c54074d341b592de8161280c9b90e9e70c19f6b474921cc2f4d2ec17d08a2e76d7dc94c8cef111c72a241684a57b34
+ sha512sums = b62127f078686f24501bc3ba2954bdcec846e7d7d1bdaf5f1b9d47ff86881035b81d6e065472228d46521a6ecafbc113adf3a8b8a97ab01a70fe88f47a971d3d
+ sha512sums = ce4c8822ca4a18f0aa94991ea4df27b340e30ca38d8931cb2929c2226e8cb3a34b15c4ebe4fcb2fa5f940ab132ffe925fdef0236429face93a46d633f272c329
+ sha512sums = 01df3947425b510f9c64e72ab2020b02f28141421ad29be94bf118cd7b56cc22702ae329db05bc336284d3edcf3b71d254de10a2784296c691447ee356c76683
+
+pkgname = vtk8
diff --git a/.shellcheckrc b/.shellcheckrc
new file mode 100644
index 000000000000..426d75bb9e30
--- /dev/null
+++ b/.shellcheckrc
@@ -0,0 +1,6 @@
+# allow unsafe `cd `
+disable=SC2164
+# allow unused variable (pkgname,pkgver etc.)
+disable=SC2034
+# allow uninitialized variable (srcdir,pkgdir)
+disable=SC2154
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..8b5a0b64d6d8
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,150 @@
+#!/bin/hint/bash
+# Maintainer : bartus <arch-user-repoᘓbartus.33mail.com>
+
+# og.Maintainer: Evgeniy Alekseev <arcanis at archlinux dot org>
+# og.Maintainer: Bruno Pagani <archange at archlinux dot org>
+# Contributor: Ray Rashif <schiv at archlinux dot org>
+# Contributor: Andrzej Giniewicz <gginiu at gmail dot com>
+# Contributor: Thomas Dziedzic <gostrc at gmail>
+
+pkgname=vtk8
+pkgver=8.2.0
+pkgrel=21
+provides=(vtk=$pkgver)
+conflicts=(vtk)
+pkgdesc="A software system for 3D computer graphics, image processing, and visualization"
+arch=(x86_64)
+url="https://www.vtk.org/"
+license=(BSD)
+depends=(gcc-libs double-conversion)
+makedepends=(cmake boost doxygen ffmpeg gdal gnuplot
+ java-environment openmpi python-matplotlib qt5-base
+ qt5-tools qt5-webkit qt5-x11extras tk unixodbc wget
+ double-conversion eigen expat freetype2 glew hdf5
+ libjpeg jsoncpp libxml2 lz4 xz python-mpi4py netcdf
+ libogg pdal libpng libtheora libtiff zlib
+ sqlite)
+optdepends=('gnuplot: plotting tools'
+ 'graphviz: drawing tools'
+ 'java-runtime: java bindings'
+ 'python: python bindings'
+ 'python-mpi4py: OpenMPI python support'
+ 'python-matplotlib: for Matplotlib rendering'
+ 'openmpi: OpenMPI support'
+ 'qt5-x11extras'
+ 'qt5-webkit: WebKit support'
+ 'tk: tcl bindings'
+ ffmpeg
+ gdal
+ glew
+ hdf5
+ jsoncpp
+ lz4
+ netcdf
+ pdal
+ sqlite
+ unixodbc)
+source=("${url}/files/release/${pkgver%.*}/VTK-${pkgver}.tar.gz"
+ "${url}/files/release/${pkgver%.*}/VTKData-${pkgver}.tar.gz"
+ "${url}/files/release/${pkgver%.*}/VTKLargeData-${pkgver}.tar.gz"
+ vtk-python-3.8.patch::"https://gitlab.kitware.com/vtk/vtk/merge_requests/5883.patch"
+ vtk-gcc10.patch::"https://gitlab.kitware.com/vtk/vtk/-/commit/a9079bdc.patch"
+ vtk-qt5.15.patch::"https://gitlab.kitware.com/vtk/vtk/-/commit/797f2869.patch"
+ vtk-freetype-2.10.3.patch)
+options=(staticlibs)
+sha512sums=('521bd4dabedbc24b0e80a314a34ecd7554b04af28a7973245e3a9cf99a09b995d1b8ac42305c8e53369f226a0a6da3cdb29105ba2c90b46492736ef717760286'
+ '517d0f6dfdb0c61f59df933f06d3a28c8a48ea684aaff311456213fe493e2a20128886144325fc4edfa376b2d375a2dae6c60ad6e3d5d2f4a7b0ac1d8545c87b'
+ '8a7ea3d5870b1e4ccb31c77b4c270d00208349da1b2938e957210db3ec1449b678c66edc2faee1d4514aca6d725f642abc91e10ab0c151f6743cad1c53485588'
+ '05a367dbb21c95f6e03e30c1c520357f60c54074d341b592de8161280c9b90e9e70c19f6b474921cc2f4d2ec17d08a2e76d7dc94c8cef111c72a241684a57b34'
+ 'b62127f078686f24501bc3ba2954bdcec846e7d7d1bdaf5f1b9d47ff86881035b81d6e065472228d46521a6ecafbc113adf3a8b8a97ab01a70fe88f47a971d3d'
+ 'ce4c8822ca4a18f0aa94991ea4df27b340e30ca38d8931cb2929c2226e8cb3a34b15c4ebe4fcb2fa5f940ab132ffe925fdef0236429face93a46d633f272c329'
+ '01df3947425b510f9c64e72ab2020b02f28141421ad29be94bf118cd7b56cc22702ae329db05bc336284d3edcf3b71d254de10a2784296c691447ee356c76683')
+
+prepare() {
+ cd VTK-${pkgver}
+
+ # Fix build with python 3.8
+ patch -p1 -i ../vtk-python-3.8.patch
+
+ # Fix build with GCC 10
+ patch -d ThirdParty/exodusII/vtkexodusII -p1 -i "$srcdir"/vtk-gcc10.patch
+ sed -e 's|REGEX MATCH \"\[3-9\]|REGEX MATCH \"[1-9][0-9]|' -i CMake/VTKGenerateExportHeader.cmake
+
+ # Fix build with Qt 5.15
+ patch -p1 -i ../vtk-qt5.15.patch
+
+ # Fix build with Java 12
+ sed -i 's/VTK_JAVA_SOURCE_VERSION "1.6"/VTK_JAVA_SOURCE_VERSION "1.7"/
+ s/VTK_JAVA_TARGET_VERSION "1.6"/VTK_JAVA_TARGET_VERSION "1.7"/' Wrapping/Java/CMakeLists.txt
+
+ # Fix build with FreeType 2.10.3
+ patch -p1 -i ../vtk-freetype-2.10.3.patch
+
+ # Fix build with HDF5 1.12.1
+ sed -i 's/typedef int hid_t;/typedef int64_t hid_t;/' ThirdParty/xdmf3/vtkxdmf3/core/XdmfHDF5Controller.hpp
+}
+
+build() {
+ # to help cmake find java
+ export JAVA_HOME=/usr/lib/jvm/default
+
+ # GL2PS blocked by http://www.vtk.org/Bug/view.php?id=16083
+ # LIBHARU blocked by https://github.com/libharu/libharu/pull/157
+ # exodusII,kissfft,verdict,VPIC,xdmf2/3,zfp not packaged in Arch
+ # Note: VTK explicitly disables system GLEW dependency, it uses embedded sources with modifications
+ local VTK_USE_SYSTEM_LIB=""
+ # Common with ParaView
+ for lib in DOUBLECONVERSION EIGEN EXPAT FREETYPE GLEW HDF5 JPEG JSONCPP LIBXML2 LZ4 LZMA MPI4PY NETCDF OGG PNG THEORA TIFF ZLIB; do
+ VTK_USE_SYSTEM_LIB+="-DVTK_USE_SYSTEM_${lib}=ON "
+ done
+ for lib in SQLITE; do
+ VTK_USE_SYSTEM_LIB+="-DVTK_USE_SYSTEM_${lib}=ON "
+ done
+
+ local _tkver=$(echo 'puts $tcl_version' | tclsh)
+
+ cmake -B build -S VTK-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_DOCUMENTATION=OFF \
+ -DDOXYGEN_KEEP_TEMP=ON \
+ -DDOCUMENTATION_HTML_HELP=OFF \
+ -DDOCUMENTATION_HTML_TARZ=OFF \
+ -DBUILD_EXAMPLES=ON \
+ -DXDMF_STATIC_AND_SHARED=OFF \
+ -DVTK_USE_FFMPEG_ENCODER=ON \
+ -DVTK_BUILD_ALL_MODULES=ON \
+ -DModule_vtkIOPDAL=ON \
+ -DVTK_USE_LARGE_DATA=ON \
+ -DVTK_QT_VERSION="5" \
+ -DVTK_WRAP_JAVA=ON \
+ -DVTK_WRAP_PYTHON=ON \
+ -DVTK_WRAP_TCL=ON \
+ -DCMAKE_CXX_FLAGS="-D__STDC_CONSTANT_MACROS" \
+ -DVTK_PYTHON_VERSION="3" \
+ -DVTK_CUSTOM_LIBRARY_SUFFIX="" \
+ -DVTK_INSTALL_INCLUDE_DIR=include/vtk \
+ -DVTK_INSTALL_TCL_DIR=/usr/lib/tcl"${_tkver}"/vtk/ \
+ "${VTK_USE_SYSTEM_LIB}" \
+ -Wno-dev
+ make -C build
+}
+
+package() {
+ make -C build DESTDIR="${pkgdir}" install
+
+ # 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 VTK-${pkgver}/Copyright.txt -t "${pkgdir}"/usr/share/licenses/${pkgname%8}/
+
+ # Fix path of QtDesigner plugin
+ install -dv "${pkgdir}"/usr/lib/qt
+ mv "${pkgdir}"/usr/plugins "${pkgdir}"/usr/lib/qt/plugins
+}
diff --git a/vtk-freetype-2.10.3.patch b/vtk-freetype-2.10.3.patch
new file mode 100644
index 000000000000..9de2f8384a6c
--- /dev/null
+++ b/vtk-freetype-2.10.3.patch
@@ -0,0 +1,18 @@
+diff --git a/ThirdParty/freetype/vtk_freetype.h.in b/ThirdParty/freetype/vtk_freetype.h.in
+index c3f6f4f3..fd525e55 100644
+--- a/ThirdParty/freetype/vtk_freetype.h.in
++++ b/ThirdParty/freetype/vtk_freetype.h.in
+@@ -20,6 +20,13 @@
+
+ #ifdef VTK_USE_SYSTEM_FREETYPE
+ # include <ft2build.h>
++#ifndef FT_CALLBACK_DEF
++#ifdef __cplusplus
++#define FT_CALLBACK_DEF( x ) extern "C" x
++#else
++#define FT_CALLBACK_DEF( x ) static x
++#endif
++#endif /* FT_CALLBACK_DEF */
+ #else
+ # include <vtkfreetype/include/ft2build.h>
+ #endif