aboutsummaryrefslogtreecommitdiff
path: root/libraries/VTK
diff options
context:
space:
mode:
authorChristoph Willing <chris.willing@linux.com>2021-05-19 11:44:31 +1000
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2021-05-19 18:39:56 +0700
commit50c303e503d522200b493d9684b53b0c156fae42 (patch)
tree5c0fdbe0052493a657fce6807201b8be38251917 /libraries/VTK
parent090f515758b5d6a62824ef3b304ca8b9576d32bc (diff)
libraries/VTK: Updated for version 9.0.1
Signed-off-by: Christoph Willing <chris.willing@linux.com> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'libraries/VTK')
-rw-r--r--libraries/VTK/VTK.SlackBuild48
-rw-r--r--libraries/VTK/VTK.info6
-rw-r--r--libraries/VTK/patch-gcc10.diff40
-rw-r--r--libraries/VTK/patch-gdal2.diff31
-rw-r--r--libraries/VTK/patch-proj6.diff110
-rw-r--r--libraries/VTK/vtk-AllValues.patch137
-rw-r--r--libraries/VTK/vtk-includes.patch71
7 files changed, 233 insertions, 210 deletions
diff --git a/libraries/VTK/VTK.SlackBuild b/libraries/VTK/VTK.SlackBuild
index 8767c4a0c4cd8..51e9334845248 100644
--- a/libraries/VTK/VTK.SlackBuild
+++ b/libraries/VTK/VTK.SlackBuild
@@ -4,7 +4,7 @@
# Copyright 2013,2014 Youjie Zhou <jmpopush@gmail.com>
# All rights reserved.
-# Copyright 2016-2020 Christoph Willing, Brisbane Australia
+# Copyright 2016-2021 Christoph Willing, Brisbane Australia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -26,9 +26,8 @@
#
PRGNAM=VTK
-VERSION=${VERSION:-8.2.0}
-SHORT_VERSION=${SHORT_VERSION:-$(echo $VERSION | sed -e 's/\.[0-9]*//2g')}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-9.0.1}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -60,14 +59,14 @@ fi
# configure VTK features
# (defaults suitable for OpenCASCADE, it's the only SBo package that depends on VTK)
-group_imaging="" ; [ "${IMAGING:-yes}" != "no" ] && group_imaging="-DVTK_Group_Imaging=true"
-group_mpi="" ; [ "${MPI:-no}" != "no" ] && group_mpi="-DVTK_Group_MPI=true"
-group_qt="" ; [ "${QT:-yes}" != "no" ] && group_qt="-DVTK_Group_Qt=true"
-group_tk="" ; [ "${TK:-yes}" != "no" ] && group_tk="-DVTK_Group_Tk=true"
-group_views="" ; [ "${VIEWS:-no}" != "no" ] && group_views="-DVTK_Group_Views=true"
-group_web="" ; [ "${WEB:-no}" != "no" ] && group_web="-DVTK_Group_Web=true"
-wrap_python="" ; [ "${PYTHON:-yes}" != "no" ] && wrap_python="-DVTK_WRAP_PYTHON=true"
+group_imaging="" ; [ "${IMAGING:-yes}" != "no" ] && group_imaging="-DVTK_GROUP_ENABLE_Imaging=YES"
+group_mpi="" ; [ "${MPI:-no}" != "no" ] && group_mpi="-DVTK_GROUP_ENABLE_MPI=YES"
+group_qt="" ; [ "${QT:-yes}" != "no" ] && group_qt="-DVTK_GROUP_ENABLE_Qt=YES"
+group_views="" ; [ "${VIEWS:-no}" != "no" ] && group_views="-DVTK_GROUP_ENABLE_Views=YES"
+group_web="" ; [ "${WEB:-no}" != "no" ] && group_web="-DVTK_GROUP_ENABLE_Web=YES"
wrap_java="" ; [ "${JAVA:-no}" != "no" ] && wrap_java="-DVTK_WRAP_JAVA=true"
+wrap_python="" ; [ "${PYTHON:-yes}" != "no" ] && wrap_python="-DVTK_WRAP_PYTHON=true"
+python_version="-DVTK_PYTHON_VERSION=3"; [ "${PYTHONVERSION:-3}" == "2" ] && python_version="-DVTK_PYTHON_VERSION=2"
if pkg-config --exists jsoncpp ; then jsoncpp="-DVTK_USE_SYSTEM_JSONCPP:BOOL=ON" ; else jsoncpp="" ; fi
@@ -89,6 +88,8 @@ cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
+patch -p1 < $CWD/vtk-includes.patch
+patch -p1 < $CWD/vtk-AllValues.patch
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -102,18 +103,10 @@ sed -i '/include <QTextStream>/a #include <QPainterPath>' \
if pkg-config --exists proj ; then
proj="-DVTK_USE_SYSTEM_LIBPROJ:BOOL=ON"
- # proj6 patch courtesy of
- # https://git.archlinux.org/svntogit/community.git/plain/trunk/proj6.patch?h=packages/vtk
- patch -p1 < $CWD/patch-proj6.diff
else
proj=""
fi
-# https://github.com/archlinux/svntogit-community/blob/packages/vtk/trunk/PKGBUILD
-( cd ThirdParty/exodusII/vtkexodusII
- patch -p1 < $CWD/patch-gcc10.diff )
-sed -i 's|REGEX MATCH \"\[3-9\]|REGEX MATCH \"[1-9][0-9]|' CMake/VTKGenerateExportHeader.cmake
-
mkdir -p build
cd build
cmake \
@@ -124,14 +117,17 @@ cd build
-DBUILD_SHARED_LIBS=ON \
-DVTK_CUSTOM_LIBRARY_SUFFIX="" \
-DVTK_INSTALL_INCLUDE_DIR:PATH=include/VTK \
+ -DVTK_USE_TK=ON \
+ -DVTK_BUILD_EXAMPLES=ON \
+ -DINSTALL_DOCS=ON \
$group_imaging \
$group_mpi \
$group_qt \
- $group_tk \
$group_views \
$group_web \
- $wrap_python \
$wrap_java \
+ $wrap_python \
+ $python_version \
-DVTK_USE_SYSTEM_EXPAT:BOOL=ON \
-DVTK_USE_SYSTEM_FREETYPE:BOOL=ON \
-DVTK_USE_SYSTEM_GLEW:BOOL=ON \
@@ -163,14 +159,14 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr
$PKG/usr/lib${LIBDIRSUFFIX}/qt
}
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/licenses
cp -a \
CONTRIBUTING.md Copyright.txt README.md \
$PKG/usr/doc/$PRGNAM-$VERSION
-mv \
- $PKG/usr/share/doc/vtk-$SHORT_VERSION/verdict/ \
- $PKG/usr/doc/$PRGNAM-$VERSION
-rm -rf $PKG/usr/share/doc
+cp -a \
+ $PKG/usr/share/licenses/VTK/* \
+ $PKG/usr/doc/$PRGNAM-$VERSION/licenses/
+rm -rf $PKG/usr/share
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/libraries/VTK/VTK.info b/libraries/VTK/VTK.info
index fcc0ce544767c..c454ff0e9f92e 100644
--- a/libraries/VTK/VTK.info
+++ b/libraries/VTK/VTK.info
@@ -1,8 +1,8 @@
PRGNAM="VTK"
-VERSION="8.2.0"
+VERSION="9.0.1"
HOMEPAGE="https://www.vtk.org"
-DOWNLOAD="https://www.vtk.org/files/release/8.2/VTK-8.2.0.tar.gz"
-MD5SUM="8af3307da0fc2ef8cafe4a312b821111"
+DOWNLOAD="https://www.vtk.org/files/release/9.0/VTK-9.0.1.tar.gz"
+MD5SUM="b3ba14d616c3b23583c42cffb585deac"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/libraries/VTK/patch-gcc10.diff b/libraries/VTK/patch-gcc10.diff
deleted file mode 100644
index 507c8a7a64735..0000000000000
--- a/libraries/VTK/patch-gcc10.diff
+++ /dev/null
@@ -1,40 +0,0 @@
-From a9079bdccbb2165583d6773a5ed848427e2a38a8 Mon Sep 17 00:00:00 2001
-From: Seacas Upstream <kwrobot@kitware.com>
-Date: Tue, 28 Jan 2020 09:13:38 -0500
-Subject: [PATCH] exodusII 2020-01-28 (d97eb08d)
-
-Code extracted from:
-
- https://gitlab.kitware.com/third-party/seacas.git
-
-at commit d97eb08d79e87c82facfae39bc75deb60c0a2d83 (for/vtk-20200128-7.24f-v2019-12-18).
----
- src/ex_create_par.c | 2 +-
- src/ex_open_par.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/ex_create_par.c b/src/ex_create_par.c
-index 8d5d6734f0..ef439618da 100644
---- a/src/ex_create_par.c
-+++ b/src/ex_create_par.c
-@@ -216,5 +216,5 @@ int ex_create_par_int(const char *path, int cmode, int *comp_ws, int *io_ws, MPI
- * Prevent warning in some versions of ranlib(1) because the object
- * file has no symbols.
- */
--const char exodus_unused_symbol_dummy_1;
-+const char exodus_unused_symbol_dummy_ex_create_par;
- #endif
-diff --git a/src/ex_open_par.c b/src/ex_open_par.c
-index b2faa22c29..9df4818767 100644
---- a/src/ex_open_par.c
-+++ b/src/ex_open_par.c
-@@ -459,5 +459,5 @@ int ex_open_par_int(const char *path, int mode, int *comp_ws, int *io_ws, float
- * Prevent warning in some versions of ranlib(1) because the object
- * file has no symbols.
- */
--const char exodus_unused_symbol_dummy_1;
-+const char exodus_unused_symbol_dummy_ex_open_par;
- #endif
---
-GitLab
-
diff --git a/libraries/VTK/patch-gdal2.diff b/libraries/VTK/patch-gdal2.diff
deleted file mode 100644
index 36c33ee14caf5..0000000000000
--- a/libraries/VTK/patch-gdal2.diff
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/IO/GDAL/vtkGDALVectorReader.cxx b/IO/GDAL/vtkGDALVectorReader.cxx
-index 86854a0..a0e234a 100644
---- a/IO/GDAL/vtkGDALVectorReader.cxx
-+++ b/IO/GDAL/vtkGDALVectorReader.cxx
-@@ -44,7 +44,7 @@ class vtkGDALVectorReader::Internal
- public:
- Internal( const char* srcName, int srcMode, int appendFeatures, int addFeatIds )
- {
-- this->Source = OGRSFDriverRegistrar::Open( srcName, srcMode, &this->Driver );
-+ this->Source = (GDALDataset*) OGROpen( srcName, srcMode, NULL );
- if ( ! this->Source )
- {
- this->LastError = CPLGetLastErrorMsg();
-@@ -61,7 +61,7 @@ public:
- {
- if ( this->Source )
- {
-- OGRDataSource::DestroyDataSource( this->Source );
-+ GDALClose( (GDALDatasetH) this->Source );
- }
- }
-
-@@ -304,7 +304,7 @@ public:
- return nCells;
- }
-
-- OGRDataSource* Source;
-+ GDALDataset* Source;
- OGRSFDriver* Driver;
- const char* LastError;
- int LayerIdx;
diff --git a/libraries/VTK/patch-proj6.diff b/libraries/VTK/patch-proj6.diff
deleted file mode 100644
index 3ae71acef7f7b..0000000000000
--- a/libraries/VTK/patch-proj6.diff
+++ /dev/null
@@ -1,110 +0,0 @@
-diff --git a/Geovis/Core/vtkGeoProjection.cxx b/Geovis/Core/vtkGeoProjection.cxx
-index f3a8852d94..824060348a 100644
---- a/Geovis/Core/vtkGeoProjection.cxx
-+++ b/Geovis/Core/vtkGeoProjection.cxx
-@@ -72,6 +72,7 @@ public:
- }
-
- std::map< std::string, std::string > OptionalParameters;
-+ PJ_PROJ_INFO ProjInfo;
- };
-
- //-----------------------------------------------------------------------------
-@@ -80,7 +83,7 @@ int vtkGeoProjection::GetNumberOfProjections()
- if ( vtkGeoProjectionNumProj < 0 )
- {
- vtkGeoProjectionNumProj = 0;
-- for ( const PJ_LIST* pj = pj_get_list_ref(); pj && pj->id; ++ pj )
-+ for ( const PJ_LIST* pj = proj_list_operations(); pj && pj->id; ++ pj )
- ++ vtkGeoProjectionNumProj;
- }
- return vtkGeoProjectionNumProj;
-@@ -91,7 +94,7 @@ const char* vtkGeoProjection::GetProjectionName( int projection )
- if ( projection < 0 || projection >= vtkGeoProjection::GetNumberOfProjections() )
- return nullptr;
-
-- return pj_get_list_ref()[projection].id;
-+ return proj_list_operations()[projection].id;
- }
- //-----------------------------------------------------------------------------
- const char* vtkGeoProjection::GetProjectionDescription( int projection )
-@@ -99,7 +102,7 @@ const char* vtkGeoProjection::GetProjectionDescription( int projection )
- if ( projection < 0 || projection >= vtkGeoProjection::GetNumberOfProjections() )
- return nullptr;
-
-- return pj_get_list_ref()[projection].descr[0];
-+ return proj_list_operations()[projection].descr[0];
- }
- //-----------------------------------------------------------------------------
- vtkGeoProjection::vtkGeoProjection()
-@@ -144,7 +147,7 @@ void vtkGeoProjection::PrintSelf( ostream& os, vtkIndent indent )
- int vtkGeoProjection::GetIndex()
- {
- int i = 0;
-- for ( const PJ_LIST* proj = pj_get_list_ref(); proj && proj->id; ++ proj, ++ i )
-+ for ( const PJ_LIST* proj = proj_list_operations(); proj && proj->id; ++ proj, ++ i )
- {
- if ( ! strcmp( proj->id, this->Name ) )
- {
-@@ -161,7 +164,7 @@ const char* vtkGeoProjection::GetDescription()
- {
- return nullptr;
- }
-- return this->Projection->descr;
-+ return this->Internals->ProjInfo.description;
- }
- //-----------------------------------------------------------------------------
- projPJ vtkGeoProjection::GetProjection()
-@@ -232,6 +239,7 @@ int vtkGeoProjection::UpdateProjection()
- this->ProjectionMTime = this->GetMTime();
- if ( this->Projection )
- {
-+ this->Internals->ProjInfo = proj_pj_info(this->Projection);
- return 0;
- }
- return 1;
-diff --git a/Geovis/Core/vtkGeoTransform.cxx b/Geovis/Core/vtkGeoTransform.cxx
-index aeeabc1075..b80a8c010c 100644
---- a/Geovis/Core/vtkGeoTransform.cxx
-+++ b/Geovis/Core/vtkGeoTransform.cxx
-@@ -167,9 +167,9 @@ void vtkGeoTransform::InternalTransformPoints( double* x, vtkIdType numPts, int
- double* coord = x;
- for ( vtkIdType i = 0; i < numPts; ++ i )
- {
-- xy.u = coord[0]; xy.v = coord[1];
-+ xy.x = coord[0]; xy.y = coord[1];
- lp = pj_inv( xy, src );
-- coord[0] = lp.u; coord[1] = lp.v;
-+ coord[0] = lp.lam; coord[1] = lp.phi;
- coord += stride;
- }
- }
-@@ -191,9 +199,9 @@ void vtkGeoTransform::InternalTransformPoints( double* x, vtkIdType numPts, int
- double* coord = x;
- for ( vtkIdType i = 0; i < numPts; ++ i )
- {
-- lp.u = coord[0]; lp.v = coord[1];
-+ lp.lam = coord[0]; lp.phi = coord[1];
- xy = pj_fwd( lp, dst );
-- coord[0] = xy.u; coord[1] = xy.v;
-+ coord[0] = xy.x; coord[1] = xy.y;
- coord += stride;
- }
- }
-diff --git a/ThirdParty/libproj/vtk_libproj.h.in b/ThirdParty/libproj/vtk_libproj.h.in
-index d52db07a95..4d8ffc3c5d 100644
---- a/ThirdParty/libproj/vtk_libproj.h.in
-+++ b/ThirdParty/libproj/vtk_libproj.h.in
-@@ -18,7 +18,8 @@
- /* Use the libproj library configured for VTK. */
- #cmakedefine VTK_USE_SYSTEM_LIBPROJ
- #ifdef VTK_USE_SYSTEM_LIBPROJ
--# include <projects.h>
-+# include <proj.h>
-+# define ACCEPT_USE_OF_DEPRECATED_PROJ_API_H 1
- # include <proj_api.h>
- # include <geodesic.h>
- #else
---
-2.21.0
-
diff --git a/libraries/VTK/vtk-AllValues.patch b/libraries/VTK/vtk-AllValues.patch
new file mode 100644
index 0000000000000..d032d92485b6e
--- /dev/null
+++ b/libraries/VTK/vtk-AllValues.patch
@@ -0,0 +1,137 @@
+Index: VTK-9.0.1/Common/Core/vtkDataArray.cxx
+===================================================================
+--- VTK-9.0.1.orig/Common/Core/vtkDataArray.cxx
++++ VTK-9.0.1/Common/Core/vtkDataArray.cxx
+@@ -1627,7 +1627,7 @@ struct ScalarRangeDispatchWrapper
+ void operator()(ArrayT* array)
+ {
+ this->Success = vtkDataArrayPrivate::DoComputeScalarRange(
+- array, this->Range, vtkDataArrayPrivate::AllValues());
++ array, this->Range, vtkDataArrayPrivate::vtkAllValues());
+ }
+ };
+
+@@ -1646,7 +1646,7 @@ struct VectorRangeDispatchWrapper
+ void operator()(ArrayT* array)
+ {
+ this->Success = vtkDataArrayPrivate::DoComputeVectorRange(
+- array, this->Range, vtkDataArrayPrivate::AllValues());
++ array, this->Range, vtkDataArrayPrivate::vtkAllValues());
+ }
+ };
+
+Index: VTK-9.0.1/Common/Core/vtkDataArray.h
+===================================================================
+--- VTK-9.0.1.orig/Common/Core/vtkDataArray.h
++++ VTK-9.0.1/Common/Core/vtkDataArray.h
+@@ -599,7 +599,7 @@ vtkArrayDownCast_FastCastMacro(vtkDataAr
+ // vtkGenericDataArray.h as well.
+ namespace vtkDataArrayPrivate
+ {
+-struct AllValues
++struct vtkAllValues
+ {
+ };
+ struct FiniteValues
+Index: VTK-9.0.1/Common/Core/vtkGenericDataArray.txx
+===================================================================
+--- VTK-9.0.1.orig/Common/Core/vtkGenericDataArray.txx
++++ VTK-9.0.1/Common/Core/vtkGenericDataArray.txx
+@@ -1192,7 +1192,7 @@ bool vtkGenericDataArray<DerivedT, Value
+ using namespace vtk_GDA_detail;
+ using Supported = IsSupported<DerivedT, ValueTypeT>;
+ return ComputeScalarValueRangeImpl(
+- static_cast<DerivedT*>(this), ranges, vtkDataArrayPrivate::AllValues{}, Supported{});
++ static_cast<DerivedT*>(this), ranges, vtkDataArrayPrivate::vtkAllValues{}, Supported{});
+ }
+
+ //-----------------------------------------------------------------------------
+@@ -1202,7 +1202,7 @@ bool vtkGenericDataArray<DerivedT, Value
+ using namespace vtk_GDA_detail;
+ using Supported = IsSupported<DerivedT, ValueTypeT>;
+ return ComputeVectorValueRangeImpl(
+- static_cast<DerivedT*>(this), range, vtkDataArrayPrivate::AllValues{}, Supported{});
++ static_cast<DerivedT*>(this), range, vtkDataArrayPrivate::vtkAllValues{}, Supported{});
+ }
+
+ //-----------------------------------------------------------------------------
+Index: VTK-9.0.1/Common/Core/vtkDataArrayPrivate.txx
+===================================================================
+--- VTK-9.0.1.orig/Common/Core/vtkDataArrayPrivate.txx
++++ VTK-9.0.1/Common/Core/vtkDataArrayPrivate.txx
+@@ -301,7 +301,7 @@ template <int NumComps>
+ struct ComputeScalarRange
+ {
+ template <class ArrayT, typename RangeValueType>
+- bool operator()(ArrayT* array, RangeValueType* ranges, AllValues)
++ bool operator()(ArrayT* array, RangeValueType* ranges, vtkAllValues)
+ {
+ AllValuesMinAndMax<NumComps, ArrayT> minmax(array);
+ vtkSMPTools::For(0, array->GetNumberOfTuples(), minmax);
+@@ -435,7 +435,7 @@ public:
+ };
+
+ template <class ArrayT, typename RangeValueType>
+-bool GenericComputeScalarRange(ArrayT* array, RangeValueType* ranges, AllValues)
++bool GenericComputeScalarRange(ArrayT* array, RangeValueType* ranges, vtkAllValues)
+ {
+ AllValuesGenericMinAndMax<ArrayT> minmax(array);
+ vtkSMPTools::For(0, array->GetNumberOfTuples(), minmax);
+@@ -518,7 +518,7 @@ bool DoComputeScalarRange(ArrayT* array,
+ //----------------------------------------------------------------------------
+ // generic implementation that operates on ValueType.
+ template <typename ArrayT, typename RangeValueType>
+-bool DoComputeVectorRange(ArrayT* array, RangeValueType range[2], AllValues)
++bool DoComputeVectorRange(ArrayT* array, RangeValueType range[2], vtkAllValues)
+ {
+ range[0] = vtkTypeTraits<RangeValueType>::Max();
+ range[1] = vtkTypeTraits<RangeValueType>::Min();
+Index: VTK-9.0.1/Common/Core/vtkGenericDataArray.h
+===================================================================
+--- VTK-9.0.1.orig/Common/Core/vtkGenericDataArray.h
++++ VTK-9.0.1/Common/Core/vtkGenericDataArray.h
+@@ -414,7 +414,7 @@ namespace vtkDataArrayPrivate
+ template <typename A, typename R, typename T>
+ bool DoComputeScalarRange(A*, R*, T);
+ template <typename A, typename R>
+-bool DoComputeVectorRange(A*, R[2], AllValues);
++bool DoComputeVectorRange(A*, R[2], vtkAllValues);
+ template <typename A, typename R>
+ bool DoComputeVectorRange(A*, R[2], FiniteValues);
+ } // namespace vtkDataArrayPrivate
+@@ -466,11 +466,11 @@ class vtkScaledSOADataArrayTemplate;
+
+ #define VTK_INSTANTIATE_VALUERANGE_ARRAYTYPE(ArrayType, ValueType) \
+ template VTKCOMMONCORE_EXPORT bool DoComputeScalarRange( \
+- ArrayType*, ValueType*, vtkDataArrayPrivate::AllValues); \
++ ArrayType*, ValueType*, vtkDataArrayPrivate::vtkAllValues); \
+ template VTKCOMMONCORE_EXPORT bool DoComputeScalarRange( \
+ ArrayType*, ValueType*, vtkDataArrayPrivate::FiniteValues); \
+ template VTKCOMMONCORE_EXPORT bool DoComputeVectorRange( \
+- ArrayType*, ValueType[2], vtkDataArrayPrivate::AllValues); \
++ ArrayType*, ValueType[2], vtkDataArrayPrivate::vtkAllValues); \
+ template VTKCOMMONCORE_EXPORT bool DoComputeVectorRange( \
+ ArrayType*, ValueType[2], vtkDataArrayPrivate::FiniteValues);
+
+@@ -516,18 +516,18 @@ namespace vtkDataArrayPrivate
+ template <typename A, typename R, typename T>
+ bool DoComputeScalarRange(A*, R*, T);
+ template <typename A, typename R>
+-bool DoComputeVectorRange(A*, R[2], AllValues);
++bool DoComputeVectorRange(A*, R[2], vtkAllValues);
+ template <typename A, typename R>
+ bool DoComputeVectorRange(A*, R[2], FiniteValues);
+ } // namespace vtkDataArrayPrivate
+
+ #define VTK_DECLARE_VALUERANGE_ARRAYTYPE(ArrayType, ValueType) \
+ extern template VTKCOMMONCORE_EXPORT bool DoComputeScalarRange( \
+- ArrayType*, ValueType*, vtkDataArrayPrivate::AllValues); \
++ ArrayType*, ValueType*, vtkDataArrayPrivate::vtkAllValues); \
+ extern template VTKCOMMONCORE_EXPORT bool DoComputeScalarRange( \
+ ArrayType*, ValueType*, vtkDataArrayPrivate::FiniteValues); \
+ extern template VTKCOMMONCORE_EXPORT bool DoComputeVectorRange( \
+- ArrayType*, ValueType[2], vtkDataArrayPrivate::AllValues); \
++ ArrayType*, ValueType[2], vtkDataArrayPrivate::vtkAllValues); \
+ extern template VTKCOMMONCORE_EXPORT bool DoComputeVectorRange( \
+ ArrayType*, ValueType[2], vtkDataArrayPrivate::FiniteValues);
+
diff --git a/libraries/VTK/vtk-includes.patch b/libraries/VTK/vtk-includes.patch
new file mode 100644
index 0000000000000..f906200c29472
--- /dev/null
+++ b/libraries/VTK/vtk-includes.patch
@@ -0,0 +1,71 @@
+diff -up VTK-9.0.1/Rendering/OpenGL2/vtkXOpenGLRenderWindow.cxx.includes VTK-9.0.1/Rendering/OpenGL2/vtkXOpenGLRenderWindow.cxx
+--- VTK-9.0.1/Rendering/OpenGL2/vtkXOpenGLRenderWindow.cxx.includes 2020-06-26 07:24:40.000000000 -0600
++++ VTK-9.0.1/Rendering/OpenGL2/vtkXOpenGLRenderWindow.cxx 2021-01-27 06:51:11.776958150 -0700
+@@ -61,10 +61,23 @@ typedef ptrdiff_t GLsizeiptr;
+
+ #include <sstream>
+
++#include <X11/Xatom.h>
++#include <X11/cursorfont.h>
++#if VTK_HAVE_XCURSOR
++#include <X11/Xcursor/Xcursor.h>
++#endif
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+-#include <X11/cursorfont.h>
+
++/*
++ * Work-around to get forward declarations of C typedef of anonymous
++ * structs working. We do not want to include XUtil.h in the header as
++ * it populates the global namespace.
++ */
++struct vtkXVisualInfo : public XVisualInfo
++{
++};
++
+ #define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091
+ #define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092
+ typedef GLXContext (*glXCreateContextAttribsARBProc)(
+@@ -224,7 +237,7 @@ int XEventTypeEquals(Display*, XEvent* e
+ return event->type == EventType;
+ }
+
+-XVisualInfo* vtkXOpenGLRenderWindow::GetDesiredVisualInfo()
++vtkXVisualInfo* vtkXOpenGLRenderWindow::GetDesiredVisualInfo()
+ {
+ XVisualInfo* v = nullptr;
+
+@@ -258,7 +271,7 @@ XVisualInfo* vtkXOpenGLRenderWindow::Get
+ vtkErrorMacro(<< "Could not find a decent visual\n");
+ }
+ }
+- return (v);
++ return reinterpret_cast<vtkXVisualInfo*>(v);
+ }
+
+ vtkXOpenGLRenderWindow::vtkXOpenGLRenderWindow()
+diff -up VTK-9.0.1/Rendering/OpenGL2/vtkXOpenGLRenderWindow.h.includes VTK-9.0.1/Rendering/OpenGL2/vtkXOpenGLRenderWindow.h
+--- VTK-9.0.1/Rendering/OpenGL2/vtkXOpenGLRenderWindow.h.includes 2020-06-26 07:24:40.000000000 -0600
++++ VTK-9.0.1/Rendering/OpenGL2/vtkXOpenGLRenderWindow.h 2021-01-27 06:49:09.420323338 -0700
+@@ -28,11 +28,11 @@
+ #include "vtkOpenGLRenderWindow.h"
+ #include "vtkRenderingOpenGL2Module.h" // For export macro
+ #include <X11/Xlib.h> // Needed for X types used in the public interface
+-#include <X11/Xutil.h> // Needed for X types used in the public interface
+ #include <stack> // for ivar
+
+ class vtkIdList;
+ class vtkXOpenGLRenderWindowInternal;
++struct vtkXVisualInfo;
+
+ class VTKRENDERINGOPENGL2_EXPORT vtkXOpenGLRenderWindow : public vtkOpenGLRenderWindow
+ {
+@@ -112,7 +112,7 @@ public:
+ */
+ virtual Colormap GetDesiredColormap();
+ virtual Visual* GetDesiredVisual();
+- virtual XVisualInfo* GetDesiredVisualInfo();
++ virtual vtkXVisualInfo* GetDesiredVisualInfo();
+ virtual int GetDesiredDepth();
+ //@}
+