vtk: fix building on ucrt64

This commit is contained in:
Mehdi Chinoune
2021-09-12 06:38:23 +01:00
committed by Christoph Reiter
parent 6cc3908f1a
commit 83e5173f28
2 changed files with 70 additions and 26 deletions

View File

@@ -0,0 +1,13 @@
--- a/Common/Core/vtkInformation.h
+++ b/Common/Core/vtkInformation.h
@@ -509,8 +509,8 @@
friend class vtkInformationIterator;
private:
- VTKCOMMONCORE_EXPORT vtkInformation(const vtkInformation&) = delete;
- VTKCOMMONCORE_EXPORT void operator=(const vtkInformation&) = delete;
+ vtkInformation(const vtkInformation&) = delete;
+ void operator=(const vtkInformation&) = delete;
vtkInformationRequestKey *Request;
};

View File

@@ -5,7 +5,7 @@ _realname=vtk
pkgbase="mingw-w64-${_realname}"
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=8.2.0
pkgrel=9
pkgrel=10
pkgdesc="A software system for 3D computer graphics, image processing and visualization (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64')
@@ -17,9 +17,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
"${MINGW_PACKAGE_PREFIX}-ffmpeg"
"${MINGW_PACKAGE_PREFIX}-fontconfig"
"${MINGW_PACKAGE_PREFIX}-freetype"
"${MINGW_PACKAGE_PREFIX}-gdal"
"${MINGW_PACKAGE_PREFIX}-hdf5"
"${MINGW_PACKAGE_PREFIX}-intel-tbb"
"${MINGW_PACKAGE_PREFIX}-jsoncpp"
"${MINGW_PACKAGE_PREFIX}-libjpeg"
"${MINGW_PACKAGE_PREFIX}-libharu"
@@ -30,9 +28,11 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
"${MINGW_PACKAGE_PREFIX}-libxml2"
"${MINGW_PACKAGE_PREFIX}-lz4"
"${MINGW_PACKAGE_PREFIX}-pugixml"
"${MINGW_PACKAGE_PREFIX}-zlib")
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
"${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-zlib"
$([[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]] || echo "${MINGW_PACKAGE_PREFIX}-intel-tbb")
)
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-ninja"
"${MINGW_PACKAGE_PREFIX}-boost"
"${MINGW_PACKAGE_PREFIX}-libmariadbclient"
"${MINGW_PACKAGE_PREFIX}-postgresql"
@@ -40,8 +40,11 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
"${MINGW_PACKAGE_PREFIX}-tk"
"${MINGW_PACKAGE_PREFIX}-qt5-base"
"${MINGW_PACKAGE_PREFIX}-qt5-winextras"
"${MINGW_PACKAGE_PREFIX}-qt5-tools")
"${MINGW_PACKAGE_PREFIX}-qt5-tools"
$([[ ${MSYSTEM} == MINGW* ]] && echo "${MINGW_PACKAGE_PREFIX}-gdal")
)
optdepends=("${MINGW_PACKAGE_PREFIX}-boost: InfovisBoost and InfovisBoostGraphAlgorithms modules"
"${MINGW_PACKAGE_PREFIX}-gdal"
"${MINGW_PACKAGE_PREFIX}-libmariadbclient: interface to MariaDB"
"${MINGW_PACKAGE_PREFIX}-postgresql: interface to PostgreSQL"
"${MINGW_PACKAGE_PREFIX}-python: Python bindings"
@@ -60,7 +63,8 @@ source=(https://www.vtk.org/files/release/${pkgver%.*}/VTK-${pkgver}.tar.gz
"030-pugixml.patch"
"031-fno-common.patch"
"032-freetype-2.10.3-provide-FT_CALLBACK_DEF.patch"
"033-qt-5.15.patch")
"033-qt-5.15.patch"
"034-no-dllexport-with-delete.patch")
sha256sums=('34c3dc775261be5e45a8049155f7228b6bd668106c72a3c435d95730d17d57bb'
'db3163012fc7d90f6ffd8300a7a306a609e7c69a88a1dcfb9cb5b5df4391e3ad'
'7f428a9c15b2dfc23fff2a19a11c48a628c9b52f82ec0d1dca37d0a5cffc9aef'
@@ -72,23 +76,37 @@ sha256sums=('34c3dc775261be5e45a8049155f7228b6bd668106c72a3c435d95730d17d57bb'
'cbcc8a0c81450e015c2ce4035f2f128956d20a22be581199446c4a72c0396190'
'a4597f0410bea856b06d023d9db7d2661b505eec110f4beccc155f6aa2c593f7'
'aa43d6b702e3e1bca2cb8560c1c7e6ce5681cef8a89e9b6442f8037bc295c21c'
'de1d2088c54bc7fdd494cb8a90464d2f53dc7cabddcd0415d9fb8cc4de448d0e')
'de1d2088c54bc7fdd494cb8a90464d2f53dc7cabddcd0415d9fb8cc4de448d0e'
'902ec3d23551de899a0682af88acc61257242fb5f474470884c3468d86a0d9f8')
# Helper macros to help make tasks easier #
apply_patch_with_msg() {
for _patch in "$@"
do
msg2 "Applying ${_patch}"
patch -Nbp1 -i "${srcdir}/${_patch}"
done
}
prepare() {
cd "${srcdir}/${_realname}-${pkgver}"
patch -Np1 -i "${srcdir}/001-vtk-mingw-w64.patch"
patch -Np1 -i "${srcdir}/004-fix-linking-rendering-tk.patch"
apply_patch_with_msg \
001-vtk-mingw-w64.patch \
004-fix-linking-rendering-tk.patch
# it will find stdint from msys2-runtime-devel, but that's useless
patch -Np1 -i "${srcdir}/005-remove-bogus-stdint-check.patch"
patch -Np1 -i "${srcdir}/006-win7-defines-guard.patch"
patch -Np1 -i "${srcdir}/007-fix-linking-movie.patch"
patch -Np1 -i "${srcdir}/008-fix-python-modules-path.patch"
patch -Np1 -i "${srcdir}/020-python38-compat.patch"
patch -Np1 -i "${srcdir}/030-pugixml.patch"
patch -Np1 -i "${srcdir}/031-fno-common.patch"
patch -Np1 -i "${srcdir}/032-freetype-2.10.3-provide-FT_CALLBACK_DEF.patch"
patch -Np1 -i "${srcdir}/033-qt-5.15.patch"
apply_patch_with_msg \
005-remove-bogus-stdint-check.patch
apply_patch_with_msg \
006-win7-defines-guard.patch \
007-fix-linking-movie.patch \
008-fix-python-modules-path.patch \
020-python38-compat.patch \
030-pugixml.patch \
031-fno-common.patch \
032-freetype-2.10.3-provide-FT_CALLBACK_DEF.patch \
033-qt-5.15.patch \
034-no-dllexport-with-delete.patch
}
build() {
@@ -101,12 +119,25 @@ build() {
_cmakeopts=('-DVTK_USE_64BIT_IDS=ON')
}
if [[ ${MINGW_PACKAGE_PREFIX} != *-clang-* ]]; then
_default_smp=TBB
else
_default_smp=STDThread
fi
if [[ ${MSYSTEM} == MINGW* ]]; then
_enable_gdal=ON
else
_enable_gdal=OFF
fi
[[ -d ${srcdir}/build-${MSYSTEM} ]] && rm -rf ${srcdir}/build-${MSYSTEM}
mkdir -p ${srcdir}/build-${MSYSTEM} && cd ${srcdir}/build-${MSYSTEM}
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=;-DVTK_INSTALL_QT_PLUGIN_DIR=;-DVTK_INSTALL_TCL_DIR=" \
"${MINGW_PREFIX}/bin/cmake.exe" -Wno-dev \
-G"MSYS Makefiles" \
cmake \
-Wno-dev \
-G"Ninja" \
-DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \
-DVTK_INSTALL_QT_PLUGIN_DIR="${MINGW_PREFIX}/share/qt5/plugins/designer" \
-DVTK_INSTALL_TCL_DIR="${MINGW_PREFIX}/lib/vtk-${pkgver%.*}" \
@@ -146,7 +177,7 @@ build() {
-DMYSQL_LIBRARY="${MINGW_PREFIX}/lib/libmariadb.dll.a" \
-DModule_vtkInfovisBoost=ON \
-DModule_vtkInfovisBoostGraphAlgorithms=ON \
-DModule_vtkIOGDAL=ON \
-DModule_vtkIOGDAL=${_enable_gdal} \
-DModule_vtkIOODBC=OFF \
-DModule_vtkIOPostgreSQL=ON \
-DModule_vtkPythonInterpreter=ON \
@@ -157,19 +188,19 @@ build() {
-DVTK_WRAP_PYTHON=ON \
-DVTK_QT_VERSION=5 \
-DPYTHON_EXECUTABLE="${MINGW_PREFIX}/bin/python.exe" \
-DVTK_SMP_IMPLEMENTATION_TYPE=TBB \
-DVTK_SMP_IMPLEMENTATION_TYPE=${_default_smp} \
-DCMAKE_RC_FLAGS=--use-temp-file \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=ON \
${_cmakeopts[@]} \
../${_realname}-${pkgver}
make
cmake --build .
}
package() {
cd "${srcdir}/build-${MSYSTEM}"
make -j1 DESTDIR="${pkgdir}" install
DESTDIR="${pkgdir}" cmake --install .
local PREFIX_DEPS=$(cygpath -am ${MINGW_PREFIX})