summaryrefslogtreecommitdiff
path: root/vtk.spec
diff options
context:
space:
mode:
Diffstat (limited to 'vtk.spec')
-rw-r--r--vtk.spec848
1 files changed, 848 insertions, 0 deletions
diff --git a/vtk.spec b/vtk.spec
new file mode 100644
index 0000000..3962d83
--- /dev/null
+++ b/vtk.spec
@@ -0,0 +1,848 @@
+%undefine __cmake_in_source_build
+
+%global _lto_cflags %{nil}
+
+%bcond_with OSMesa
+%ifarch %{java_arches}
+%bcond_without java
+%else
+%bcond_with java
+%endif
+%bcond_without mpich
+%bcond_without openmpi
+%bcond_with flexiblas
+%bcond_with gl2ps
+%bcond_with fmt
+
+Summary: The Visualization Toolkit - A high level 3D visualization library
+Name: vtk
+Version: 9.3.1
+Release: 1
+License: BSD
+Source0: https://www.vtk.org/files/release/9.1/VTK-%{version}.tar.gz
+Source1: https://www.vtk.org/files/release/9.1/VTKData-%{version}.tar.gz
+Source2: xorg.conf
+
+Patch9000: 9000-fix-build-error-for-aarch64.patch
+
+URL: https://vtk.org/
+
+BuildRequires: cmake
+%global cmake_gen %{nil}
+BuildRequires: gcc-c++
+%if %{with java}
+BuildRequires: java-devel
+%else
+Obsoletes: %{name}-java < %{version}-%{release}
+Obsoletes: %{name}-java-devel < %{version}-%{release}
+%endif
+%if %{with flexiblas}
+BuildRequires: flexiblas-devel
+%else
+BuildRequires: blas-devel
+BuildRequires: lapack-devel
+%endif
+BuildRequires: boost-devel
+BuildRequires: cgnslib-devel
+BuildRequires: cli11-devel
+BuildRequires: double-conversion-devel
+BuildRequires: eigen3-devel
+BuildRequires: expat-devel
+%if %{with fmt}
+BuildRequires: fmt-devel >= 8.1.0
+%endif
+BuildRequires: freetype-devel
+BuildRequires: gdal-devel
+%if %{with gl2ps}
+BuildRequires: gl2ps-devel
+%endif
+BuildRequires: glew-devel
+BuildRequires: hdf5-devel
+BuildRequires: jsoncpp-devel
+BuildRequires: libarchive-devel
+BuildRequires: libGL-devel
+BuildRequires: libharu-devel >= 2.3.0-9
+BuildRequires: libICE-devel
+BuildRequires: libjpeg-devel
+BuildRequires: libpng-devel
+BuildRequires: libpq-devel
+BuildRequires: libtheora-devel
+BuildRequires: libtiff-devel
+BuildRequires: libxml2-devel
+BuildRequires: libX11-devel
+BuildRequires: libXext-devel
+BuildRequires: libXt-devel
+BuildRequires: lz4-devel
+BuildRequires: fastfloat-devel
+BuildRequires: verdict-devel
+BuildRequires: json-devel
+BuildRequires: mariadb-connector-c-devel
+%{?with_OSMesa:BuildRequires: mesa-libOSMesa-devel}
+BuildRequires: motif-devel
+BuildRequires: netcdf-cxx-devel
+BuildRequires: openslide-devel
+BuildRequires: PEGTL-devel
+BuildRequires: proj-devel
+BuildRequires: pugixml-devel
+BuildRequires: python3-devel
+BuildRequires: python%{python3_pkgversion}-qt5
+BuildRequires: qt5-qtbase-devel
+BuildRequires: qt5-qttools-devel
+BuildRequires: qt5-qtx11extras-devel
+BuildRequires: qt5-qtwebkit-devel
+BuildRequires: R-devel
+BuildRequires: sqlite-devel
+BuildRequires: tcl-devel
+BuildRequires: tk-devel
+BuildRequires: utf8cpp-devel
+BuildRequires: zlib-devel
+BuildRequires: chrpath
+BuildRequires: doxygen
+BuildRequires: graphviz
+BuildRequires: gnuplot
+BuildRequires: wget
+%if %{with mpich}
+BuildRequires: mpich-devel
+BuildRequires: python%{?python3_pkgversion}-mpi4py-mpich
+BuildRequires: netcdf-mpich-devel
+%endif
+%if %{with openmpi}
+BuildRequires: openmpi-devel
+BuildRequires: python%{?python3_pkgversion}-mpi4py-openmpi
+BuildRequires: netcdf-openmpi-devel
+%endif
+Requires: hdf5 = %{_hdf5_version}
+
+Provides: bundled(kwsys-base64)
+Provides: bundled(kwsys-commandlinearguments)
+Provides: bundled(kwsys-directory)
+Provides: bundled(kwsys-dynamicloader)
+Provides: bundled(kwsys-encoding)
+Provides: bundled(kwsys-fstream)
+Provides: bundled(kwsys-fundamentaltype)
+Provides: bundled(kwsys-glob)
+Provides: bundled(kwsys-md5)
+Provides: bundled(kwsys-process)
+Provides: bundled(kwsys-regularexpression)
+Provides: bundled(kwsys-status)
+Provides: bundled(kwsys-system)
+Provides: bundled(kwsys-systeminformation)
+Provides: bundled(kwsys-systemtools)
+Provides: bundled(diy2)
+Provides: bundled(exodusII) = 2.0.0
+Provides: bundled(exprtk) = 2.71
+%if !%{with fmt}
+Provides: bundled(fmt) = 8.1.0
+%endif
+Provides: bundled(ftgl) = 1.32
+%if !%{with gl2ps}
+Provides: bundled(gl2ps) = 1.4.0
+%endif
+Provides: bundled(ioss) = 20210512
+Provides: bundled(kissfft)
+Provides: bundled(metaio)
+Provides: bundled(verdict) = 1.2.0
+Provides: bundled(vpic)
+Provides: bundled(xdmf2) = 2.1
+Provides: bundled(xdmf3)
+
+Obsoletes: %{name}-tcl < 8.2.0-1
+Obsoletes: %{name}-qt-tcl < 8.2.0-1
+
+%description
+VTK is an open-source software system for image processing, 3D
+graphics, volume rendering and visualization. VTK includes many
+advanced algorithms (e.g., surface reconstruction, implicit modeling,
+decimation) and rendering techniques (e.g., hardware-accelerated
+volume rendering, LOD control).
+
+NOTE: The version in this package has NOT been compiled with MPI support.
+%if %{with mpich}
+Install the %{name}-mpich package to get a version compiled with mpich.
+%endif
+%if %{with openmpi}
+Install the %{name}-openmpi package to get a version compiled with openmpi.
+%endif
+
+%package devel
+Summary: VTK header files for building C++ code
+Requires: %{name}%{?_isa} = %{version}-%{release}
+%if %{with java}
+Requires: %{name}-java%{?_isa} = %{version}-%{release}
+%endif
+Requires: python%{python3_pkgversion}-%{name}%{?_isa} = %{version}-%{release}
+Requires: hdf5-devel%{?_isa}
+Requires: netcdf-mpich-devel%{?_isa}
+Requires: cmake
+%if %{with flexiblas}
+Requires: flexiblas-devel
+%else
+Requires: blas-devel
+Requires: lapack-devel
+%endif
+Requires: blas-devel
+Requires: boost-devel
+Requires: cgnslib-devel
+Requires: cli11-static
+Requires: double-conversion-devel
+# eigen3 is noarch and header-only
+Requires: eigen3-static
+Requires: expat-devel
+%if %{with fmt}
+Requires: fmt-devel
+%endif
+Requires: freetype-devel
+Requires: gdal-devel
+%if %{with gl2ps}
+Requires: gl2ps-devel
+%endif
+Requires: glew-devel
+Requires: jsoncpp-devel
+Requires: lapack-devel
+Requires: libarchive-devel
+Requires: libGL-devel
+Requires: libharu-devel >= 2.3.0-9
+Requires: libjpeg-devel
+Requires: libogg-devel
+Requires: libpng-devel
+Requires: libpq-devel
+Requires: libtheora-devel
+Requires: libtiff-devel
+Requires: libxml2-devel
+Requires: libX11-devel
+Requires: libXext-devel
+Requires: libXt-devel
+Requires: lz4-devel
+Requires: mariadb-connector-c-devel
+%if %{with OSMesa}
+Requires: mesa-libOSMesa-devel
+%endif
+Requires: netcdf-cxx-devel
+Requires: openslide-devel
+Requires: PEGTL-devel
+Requires: proj-devel
+Requires: pugixml-devel
+Requires: python3-devel
+Requires: sqlite-devel
+Requires: qt5-qtbase-devel
+Requires: qt5-qttools-devel
+Requires: qt5-qtx11extras-devel
+Requires: qt5-qtwebkit-devel
+Requires: utf8cpp-devel
+Requires: zlib-devel
+Requires: fastfloat-devel
+Requires: verdict-devel
+Requires: json-devel
+Requires: sqlite-devel
+
+%description devel
+This provides the VTK header files required to compile C++ programs that
+use VTK to do 3D visualization.
+
+%package -n python%{python3_pkgversion}-%{name}
+Summary: Python 3 bindings for VTK
+Requires: vtk%{?_isa} = %{version}-%{release}
+%{?python_provide:%python_provide python%{python3_pkgversion}-vtk}
+Provides: %{py3_dist vtk} = %{version}
+Provides: python%{python3_version}dist(vtk) = %{version}
+Obsoletes: python3-vtk-qt < 8.2.0-27
+Provides: python%{python3_pkgversion}-vtk-qt = %{version}-%{release}
+
+%description -n python%{python3_pkgversion}-%{name}
+Python 3 bindings for VTK.
+
+%if %{with java}
+%package java
+Summary: Java bindings for VTK
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description java
+Java bindings for VTK.
+
+%package java-devel
+Summary: Java development for VTK
+Requires: %{name}-java%{?_isa} = %{version}-%{release}
+Requires: java-devel
+
+%description java-devel
+Java development for VTK.
+%endif
+
+%package qt
+Summary: Qt bindings for VTK
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description qt
+Qt bindings for VTK.
+
+%if %{with mpich}
+%package mpich
+Summary: The Visualization Toolkit - mpich version
+
+Obsoletes: %{name}-mpich-tcl < 8.2.0-1
+Obsoletes: %{name}-mpich-qt-tcl < 8.2.0-1
+%if %{without java}
+Obsoletes: %{name}-mpich-java < %{version}-%{release}
+Obsoletes: %{name}-mpich-java-devel < %{version}-%{release}
+%endif
+
+%description mpich
+VTK is an open-source software system for image processing, 3D
+graphics, volume rendering and visualization. VTK includes many
+advanced algorithms (e.g., surface reconstruction, implicit modeling,
+decimation) and rendering techniques (e.g., hardware-accelerated
+volume rendering, LOD control).
+
+NOTE: The version in this package has been compiled with mpich support.
+
+%package mpich-devel
+Summary: VTK header files for building C++ code with mpich
+Requires: %{name}-mpich%{?_isa} = %{version}-%{release}
+Requires: python%{python3_pkgversion}-%{name}-mpich%{?_isa} = %{version}-%{release}
+Requires: mpich-devel
+Requires: hdf5-mpich-devel%{?_isa}
+Requires: cmake
+%if %{with flexiblas}
+Requires: flexiblas-devel
+%else
+Requires: blas-devel
+Requires: lapack-devel
+%endif
+Requires: blas-devel
+Requires: boost-devel
+Requires: cgnslib-devel
+Requires: cli11-static
+Requires: double-conversion-devel
+# eigen3 is noarch and header-only
+Requires: eigen3-static
+Requires: expat-devel
+%if %{with fmt}
+Requires: fmt-devel
+%endif
+Requires: freetype-devel
+Requires: gdal-devel
+%if %{with gl2ps}
+Requires: gl2ps-devel
+%endif
+Requires: glew-devel
+Requires: jsoncpp-devel
+Requires: lapack-devel
+Requires: libarchive-devel
+Requires: libGL-devel
+Requires: libharu-devel >= 2.3.0-9
+Requires: libjpeg-devel
+Requires: libogg-devel
+Requires: libpng-devel
+Requires: libpq-devel
+Requires: libtheora-devel
+Requires: libtiff-devel
+Requires: libxml2-devel
+Requires: libX11-devel
+Requires: libXext-devel
+Requires: libXt-devel
+Requires: lz4-devel
+Requires: mariadb-connector-c-devel
+%if %{with OSMesa}
+Requires: mesa-libOSMesa-devel
+%endif
+Requires: netcdf-cxx-devel
+Requires: openslide-devel
+Requires: PEGTL-devel
+Requires: proj-devel
+Requires: pugixml-devel
+Requires: python3-devel
+Requires: sqlite-devel
+Requires: qt5-qtbase-devel
+Requires: qt5-qttools-devel
+Requires: qt5-qtx11extras-devel
+Requires: qt5-qtwebkit-devel
+Requires: utf8cpp-devel
+Requires: zlib-devel
+Requires: fastfloat-devel
+Requires: verdict-devel
+Requires: json-devel
+Requires: sqlite-devel
+
+%description mpich-devel
+This provides the VTK header files required to compile C++ programs that
+use VTK to do 3D visualization.
+
+NOTE: The version in this package has been compiled with mpich support.
+
+%package -n python%{python3_pkgversion}-%{name}-mpich
+Summary: Python 3 bindings for VTK with mpich
+Requires: %{name}-mpich%{?_isa} = %{version}-%{release}
+Obsoletes: python3-vtk-mpich-qt < 8.2.0-15
+Provides: python%{python3_pkgversion}-vtk-mpich-qt = %{version}-%{release}
+
+%description -n python%{python3_pkgversion}-%{name}-mpich
+python 3 bindings for VTK with mpich.
+
+%if %{with java}
+%package mpich-java
+Summary: Java bindings for VTK with mpich
+Requires: %{name}-mpich%{?_isa} = %{version}-%{release}
+
+%description mpich-java
+Java bindings for VTK with mpich.
+
+%package mpich-java-devel
+Summary: Java development for VTK with mpich
+Requires: %{name}-mpich-java%{?_isa} = %{version}-%{release}
+Requires: java-devel
+
+%description mpich-java-devel
+Java development for VTK with mpich.
+%endif
+
+%package mpich-qt
+Summary: Qt bindings for VTK with mpich
+Requires: %{name}-mpich%{?_isa} = %{version}-%{release}
+
+%description mpich-qt
+Qt bindings for VTK with mpich.
+%endif
+
+%if %{with openmpi}
+%package openmpi
+Summary: The Visualization Toolkit - openmpi version
+
+Obsoletes: %{name}-openmpi-tcl < 8.2.0-1
+Obsoletes: %{name}-openmpi-qt-tcl < 8.2.0-1
+%if %{without java}
+Obsoletes: %{name}-mpich-java < %{version}-%{release}
+Obsoletes: %{name}-mpich-java-devel < %{version}-%{release}
+%endif
+
+%description openmpi
+VTK is an open-source software system for image processing, 3D
+graphics, volume rendering and visualization. VTK includes many
+advanced algorithms (e.g., surface reconstruction, implicit modeling,
+decimation) and rendering techniques (e.g., hardware-accelerated
+volume rendering, LOD control).
+
+NOTE: The version in this package has been compiled with openmpi support.
+
+%package openmpi-devel
+Summary: VTK header files for building C++ code with openmpi
+Requires: %{name}-openmpi%{?_isa} = %{version}-%{release}
+Requires: python%{python3_pkgversion}-%{name}-openmpi%{?_isa} = %{version}-%{release}
+Requires: openmpi-devel
+Requires: hdf5-openmpi-devel%{?_isa}
+Requires: netcdf-openmpi-devel%{?_isa}
+Requires: cmake
+%if %{with flexiblas}
+Requires: flexiblas-devel
+%else
+Requires: blas-devel
+Requires: lapack-devel
+%endif
+Requires: blas-devel
+Requires: boost-devel
+Requires: cgnslib-devel
+Requires: cli11-static
+Requires: double-conversion-devel
+# eigen3 is noarch and header-only
+Requires: eigen3-static
+Requires: expat-devel
+%if %{with fmt}
+Requires: fmt-devel
+%endif
+Requires: freetype-devel
+Requires: gdal-devel
+%if %{with gl2ps}
+Requires: gl2ps-devel
+%endif
+Requires: glew-devel
+Requires: jsoncpp-devel
+Requires: lapack-devel
+Requires: libarchive-devel
+Requires: libGL-devel
+Requires: libharu-devel >= 2.3.0-9
+Requires: libjpeg-devel
+Requires: libogg-devel
+Requires: libpng-devel
+Requires: libpq-devel
+Requires: libtheora-devel
+Requires: libtiff-devel
+Requires: libxml2-devel
+Requires: libX11-devel
+Requires: libXext-devel
+Requires: libXt-devel
+Requires: lz4-devel
+Requires: mariadb-connector-c-devel
+%if %{with OSMesa}
+Requires: mesa-libOSMesa-devel
+%endif
+Requires: netcdf-cxx-devel
+Requires: openslide-devel
+Requires: PEGTL-devel
+Requires: proj-devel
+Requires: pugixml-devel
+Requires: python3-devel
+Requires: sqlite-devel
+Requires: qt5-qtbase-devel
+Requires: qt5-qttools-devel
+Requires: qt5-qtx11extras-devel
+Requires: qt5-qtwebkit-devel
+Requires: utf8cpp-devel
+Requires: zlib-devel
+Requires: fastfloat-devel
+Requires: verdict-devel
+Requires: json-devel
+Requires: sqlite-devel
+
+%description openmpi-devel
+This provides the VTK header files required to compile C++ programs that
+use VTK to do 3D visualization.
+
+NOTE: The version in this package has been compiled with openmpi support.
+
+%package -n python%{python3_pkgversion}-%{name}-openmpi
+Summary: Python 3 bindings for VTK with openmpi
+Requires: %{name}-openmpi%{?_isa} = %{version}-%{release}
+Obsoletes: python3-vtk-openmpi-qt < 8.2.0-15
+Provides: python%{python3_pkgversion}-vtk-openmpi-qt = %{version}-%{release}
+
+%description -n python%{python3_pkgversion}-%{name}-openmpi
+Python 3 bindings for VTK with openmpi.
+
+%if %{with java}
+%package openmpi-java
+Summary: Java bindings for VTK with openmpi
+Requires: %{name}-openmpi%{?_isa} = %{version}-%{release}
+
+%description openmpi-java
+Java bindings for VTK with openmpi.
+
+%package openmpi-java-devel
+Summary: Java development for VTK with openmpi
+Requires: %{name}-openmpi-java%{?_isa} = %{version}-%{release}
+Requires: java-devel
+
+%description openmpi-java-devel
+Java development for VTK with openmpi.
+%endif
+
+%package openmpi-qt
+Summary: Qt bindings for VTK with openmpi
+Requires: %{name}-openmpi%{?_isa} = %{version}-%{release}
+
+%description openmpi-qt
+Qt bindings for VTK with openmpi.
+%endif
+
+%package data
+Summary: VTK data files for tests/examples
+BuildArch: noarch
+Obsoletes: vtkdata < 6.1.0-3
+
+%description data
+VTK data files for tests and examples.
+
+%package examples
+Summary: Examples for VTK
+Requires: %{name}%{?_isa} = %{version}-%{release}, %{name}-data = %{version}
+
+%description examples
+This package contains many well-commented examples showing how to use
+VTK. Examples are available in the C++, Tcl, Python and Java
+programming languages.
+
+
+%prep
+%autosetup -p1 -b 1 -n VTK-%{version}
+for x in vtk{cli11,doubleconversion,eigen,expat,%{?with_fmt:fmt,}freetype,%{?with_gl2ps:gl2ps,}glew,hdf5,jpeg,jsoncpp,libharu,libproj,libxml2,lz4,lzma,mpi4py,netcdf,ogg,pegtl,png,pugixml,sqlite,theora,tiff,utf8,zfp,zlib}
+do
+ rm -r ThirdParty/*/${x}
+done
+
+find Utilities/KWSys/vtksys/ -name \*.[ch]\* | grep -vE '^Utilities/KWSys/vtksys/([a-z].*|Configure|SharedForward|Status|String\.hxx|Base64|CommandLineArguments|Directory|DynamicLoader|Encoding|FStream|FundamentalType|Glob|MD5|Process|RegularExpression|System|SystemInformation|SystemTools)(C|CXX|UNIX)?\.' | xargs rm
+
+mkdir vtk-examples
+cp -a Examples vtk-examples
+find vtk-examples -type f | xargs chmod -R a-x
+
+%build
+export CFLAGS="%{optflags} -D_UNICODE -DHAVE_UINTPTR_T"
+export CXXFLAGS="%{optflags} -D_UNICODE -DHAVE_UINTPTR_T"
+export CPPFLAGS=-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H
+%if %{with java}
+export JAVA_HOME=/usr/lib/jvm/java
+%endif
+
+%global vtk_cmake_options \\\
+ -DCMAKE_INSTALL_DOCDIR=share/doc/%{name} \\\
+ -DCMAKE_INSTALL_JARDIR=share/java \\\
+ -DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} \\\
+ -DCMAKE_INSTALL_JNILIBDIR:PATH=%{_lib}/%{name} \\\
+ -DCMAKE_INSTALL_LICENSEDIR:PATH=share/licenses/%{name} \\\
+ -DCMAKE_INSTALL_QMLDIR:PATH=%{_lib}/qt5/qml \\\
+ -DVTK_CUSTOM_LIBRARY_SUFFIX="" \\\
+ -DVTK_VERSIONED_INSTALL:BOOL=OFF \\\
+ -DVTK_GROUP_ENABLE_Imaging:STRING=YES \\\
+ -DVTK_GROUP_ENABLE_Qt:STRING=YES \\\
+ -DVTK_GROUP_ENABLE_Rendering:STRING=YES \\\
+ -DVTK_GROUP_ENABLE_StandAlone:STRING=YES \\\
+ -DVTK_GROUP_ENABLE_Views:STRING=YES \\\
+ -DVTK_GROUP_ENABLE_Web:STRING=YES \\\
+ -DVTK_MODULE_ENABLE_VTK_CommonArchive:STRING=YES \\\
+ -DVTK_MODULE_ENABLE_VTK_DomainsMicroscopy:STRING=YES \\\
+ -DVTK_MODULE_ENABLE_VTK_GeovisGDAL:STRING=YES \\\
+ -DVTK_MODULE_ENABLE_VTK_ImagingOpenGL2:STRING=YES \\\
+ -DVTK_MODULE_ENABLE_VTK_InfovisBoost:STRING=YES \\\
+ -DVTK_MODULE_ENABLE_VTK_InfovisBoostGraphAlgorithms:STRING=YES \\\
+ -DVTK_MODULE_ENABLE_VTK_IOMySQL:STRING=YES \\\
+ -DVTK_PYTHON_OPTIONAL_LINK:BOOL=OFF \\\
+ -DVTK_PYTHON_VERSION=3 \\\
+%if %{with OSMesa} \
+ -DVTK_OPENGL_HAS_OSMESA:BOOL=ON \\\
+%endif \
+%if %{with java} \
+ -DVTK_WRAP_JAVA:BOOL=ON \\\
+ -DJAVA_INCLUDE_PATH:PATH=$JAVA_HOME/include \\\
+ -DJAVA_INCLUDE_PATH2:PATH=$JAVA_HOME/include/linux \\\
+ -DJAVA_AWT_INCLUDE_PATH:PATH=$JAVA_HOME/include \\\
+%else \
+ -DVTK_WRAP_JAVA:BOOL=OFF \\\
+%endif \
+ -DVTK_WRAP_PYTHON:BOOL=ON \\\
+ -DVTK_USE_EXTERNAL=ON \\\
+%if !%{with fmt} \
+ -DVTK_MODULE_USE_EXTERNAL_VTK_fmt:BOOL=OFF \\\
+%endif \
+%if !%{with gl2ps} \
+ -DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps:BOOL=OFF \\\
+%endif \
+ -DVTK_MODULE_USE_EXTERNAL_VTK_exprtk:BOOL=OFF \\\
+ -DVTK_MODULE_USE_EXTERNAL_VTK_ioss:BOOL=OFF \\\
+ -DVTK_USE_TK=ON \\\
+ %{?with_flexiblas:-DBLA_VENDOR=FlexiBLAS}
+
+mkdir build
+pushd build
+%cmake .. %{cmake_gen} \
+ %{vtk_cmake_options} \
+ -DVTK_BUILD_DOCUMENTATION:BOOL=OFF \
+ -DVTK_BUILD_EXAMPLES:BOOL=OFF \
+ -DVTK_BUILD_TESTING:BOOL=OFF
+%make_build
+#%make_build DoxygenDoc
+popd
+
+%if %{with mpich}
+mkdir build-mpich
+pushd build-mpich
+%_mpich_load
+export CC=mpicc
+export CXX=mpic++
+%cmake .. %{cmake_gen} \
+ %{vtk_cmake_options} \
+ -DCMAKE_PREFIX_PATH:PATH=$MPI_HOME \
+ -DCMAKE_INSTALL_PREFIX:PATH=$MPI_HOME \
+ -DCMAKE_INSTALL_LIBDIR:PATH=lib \
+ -DCMAKE_INSTALL_JNILIBDIR:PATH=lib/%{name} \
+ -DCMAKE_INSTALL_QMLDIR:PATH=lib/qt5/qml \
+ -DVTK_USE_MPI:BOOL=ON
+%make_build
+%_mpich_unload
+%endif
+popd
+
+%if %{with openmpi}
+mkdir build-openmpi
+pushd build-openmpi
+%_openmpi_load
+export CC=mpicc
+export CXX=mpic++
+%cmake .. %{cmake_gen} \
+ %{vtk_cmake_options} \
+ -DCMAKE_PREFIX_PATH:PATH=$MPI_HOME \
+ -DCMAKE_INSTALL_PREFIX:PATH=$MPI_HOME \
+ -DCMAKE_INSTALL_LIBDIR:PATH=lib \
+ -DCMAKE_INSTALL_JNILIBDIR:PATH=lib/%{name} \
+ -DCMAKE_INSTALL_QMLDIR:PATH=lib/qt5/qml \
+ -DVTK_USE_MPI:BOOL=ON
+%make_build
+%_openmpi_unload
+%endif
+popd
+
+find . -name \*.c -or -name \*.cxx -or -name \*.h -or -name \*.hxx -or \
+ -name \*.gif | xargs chmod -x
+
+%install
+pushd build
+%make_install
+
+ls %{buildroot}%{_libdir}/*.so.* \
+ | grep -Ev '(Java|Qt|Python)' | sed -e's,^%{buildroot},,' > libs.list
+
+popd
+
+%if %{with mpich}
+%_mpich_load
+pushd build-mpich
+%make_install
+
+ls %{buildroot}%{_libdir}/mpich/lib/*.so.* \
+ | grep -Ev '(Java|Python|Qt)' | sed -e's,^%{buildroot},,' > libs.list
+
+mv %{buildroot}%{_libdir}/mpich/share/licenses/vtk %{buildroot}%{_defaultlicensedir}/%{name}-mpich
+%_mpich_unload
+popd
+%endif
+
+
+%if %{with openmpi}
+%_openmpi_load
+pushd build-openmpi
+%make_install
+
+ls %{buildroot}%{_libdir}/openmpi/lib/*.so.* \
+ | grep -Ev '(Java|Python|Qt)' | sed -e's,^%{buildroot},,' > libs.list
+
+mv %{buildroot}%{_libdir}/openmpi/share/licenses/vtk %{buildroot}%{_defaultlicensedir}/%{name}-openmpi
+%_openmpi_unload
+popd
+%endif
+
+for file in `find %{buildroot} -type f -perm 0755 \
+ | xargs -r file | grep ASCII | awk -F: '{print $1}'`; do
+ head -1 $file | grep '^#!' > /dev/null && continue
+ chmod 0644 $file
+done
+find Utilities/Upgrading -type f -print0 | xargs -0 chmod -x
+
+mkdir -p _docs
+cp -pr --parents Wrapping/*/README* _docs/
+
+mkdir -p %{buildroot}%{_datadir}/vtkdata
+cp -alL .ExternalData/* %{buildroot}%{_datadir}/vtkdata/
+rm -rf %{buildroot}%{_datadir}/vtkdata/Wrapping
+
+export QA_RPATHS=18
+
+%files -f build/libs.list
+%license %{_defaultlicensedir}/%{name}/
+%doc README.md _docs/Wrapping
+
+%files devel
+%doc Utilities/Upgrading
+%{_bindir}/vtkParseJava
+%{_bindir}/vtkProbeOpenGLVersion
+%{_bindir}/vtkWrapHierarchy
+%{_bindir}/vtkWrapJava
+%{_includedir}/%{name}
+%{_libdir}/*.so
+%{_libdir}/cmake/%{name}/
+%dir %{_libdir}/%{name}
+%{_libdir}/%{name}/hierarchy/
+%{_docdir}/%{name}/
+
+%files -n python%{python3_pkgversion}-vtk
+%{python3_sitearch}/*
+%{_libdir}/*Python*.so.*
+%{_bindir}/vtkpython
+%{_bindir}/vtkWrapPython
+%{_bindir}/vtkWrapPythonInit
+
+%if %{with java}
+%files java
+%{_libdir}/*Java.so.*
+%dir %{_libdir}/%{name}
+%{_libdir}/%{name}/*Java.so
+%{_javadir}/vtk.jar
+%endif
+
+%files qt
+%{_libdir}/lib*Qt*.so.*
+%exclude %{_libdir}/*Python*.so.*
+%{_libdir}/qt5/qml/*
+
+%if %{with mpich}
+%files mpich -f build-mpich/libs.list
+%license %{_defaultlicensedir}/%{name}-mpich/
+%doc README.md _docs/Wrapping
+
+%files mpich-devel
+%{_libdir}/mpich/bin/vtkParseJava
+%{_libdir}/mpich/bin/vtkProbeOpenGLVersion
+%{_libdir}/mpich/bin/vtkWrapHierarchy
+%{_libdir}/mpich/bin/vtkWrapJava
+%{_libdir}/mpich/include/
+%{_libdir}/mpich/lib/*.so
+%{_libdir}/mpich/lib/cmake/
+%dir %{_libdir}/mpich/lib/%{name}
+%{_libdir}/mpich/lib/%{name}/hierarchy/
+
+%files -n python%{python3_pkgversion}-vtk-mpich
+%{_libdir}/mpich/lib/python%{python3_version}/
+%{_libdir}/mpich/lib/*Python*.so.*
+%{_libdir}/mpich/bin/pvtkpython
+%{_libdir}/mpich/bin/vtkpython
+%{_libdir}/mpich/bin/vtkWrapPython
+%{_libdir}/mpich/bin/vtkWrapPythonInit
+
+%if %{with java}
+%files mpich-java
+%{_libdir}/mpich/lib/*Java.so.*
+%dir %{_libdir}/mpich/lib/%{name}
+%{_libdir}/mpich/lib/%{name}/*Java.so
+%{_libdir}/mpich/share/java/vtk.jar
+%endif
+
+%files mpich-qt
+%{_libdir}/mpich/lib/lib*Qt*.so.*
+%exclude %{_libdir}/mpich/lib/*Python*.so.*
+%{_libdir}/mpich/lib/qt5/
+%endif
+
+%if %{with openmpi}
+%files openmpi -f build-openmpi/libs.list
+%license %{_defaultlicensedir}/%{name}-openmpi/
+%doc README.md _docs/Wrapping
+
+%files openmpi-devel
+%{_libdir}/openmpi/bin/vtkParseJava
+%{_libdir}/openmpi/bin/vtkProbeOpenGLVersion
+%{_libdir}/openmpi/bin/vtkWrapHierarchy
+%{_libdir}/openmpi/bin/vtkWrapJava
+%{_libdir}/openmpi/include/
+%{_libdir}/openmpi/lib/*.so
+%{_libdir}/openmpi/lib/cmake/
+%dir %{_libdir}/openmpi/lib/%{name}
+%{_libdir}/openmpi/lib/%{name}/hierarchy/
+
+%files -n python%{python3_pkgversion}-vtk-openmpi
+%{_libdir}/openmpi/lib/python%{python3_version}/
+%{_libdir}/openmpi/lib/*Python*.so.*
+%{_libdir}/openmpi/bin/pvtkpython
+%{_libdir}/openmpi/bin/vtkpython
+%{_libdir}/openmpi/bin/vtkWrapPython
+%{_libdir}/openmpi/bin/vtkWrapPythonInit
+
+%if %{with java}
+%files openmpi-java
+%{_libdir}/openmpi/lib/*Java.so.*
+%dir %{_libdir}/openmpi/lib/%{name}
+%{_libdir}/openmpi/lib/%{name}/*Java.so
+%{_libdir}/openmpi/share/java/vtk.jar
+%endif
+
+%files openmpi-qt
+%{_libdir}/openmpi/lib/lib*Qt*.so.*
+%exclude %{_libdir}/openmpi/lib/*Python*.so.*
+%{_libdir}/openmpi/lib/qt5/
+%endif
+
+%files data
+%{_datadir}/vtkdata
+
+%files examples
+%doc vtk-examples/Examples
+
+
+%changelog
+* Tue Aug 5 2025 mimanchiok <mimanchiok@qq.com> - 9.3.1-1
+- project init