summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2025-08-06 12:10:25 +0000
committerCoprDistGit <infra@openeuler.org>2025-08-06 12:10:25 +0000
commit2df3268b4d36c727f725353b5afd6cbedbc58175 (patch)
treed54da3780976751bdd0b7bc97ff4d7c4f950a960
parentf787b6a237c87a5217b537c63c6a8d3f1ac35eeb (diff)
automatic import of vtk
-rw-r--r--.gitignore1
-rw-r--r--9000-fix-build-error-for-aarch64.patch74
-rw-r--r--VTKData-9.3.1.tar.gz3
-rw-r--r--sources1
-rw-r--r--vtk.spec848
-rw-r--r--xorg.conf135
6 files changed, 1062 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..55b7f87 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/VTK-9.3.1.tar.gz
diff --git a/9000-fix-build-error-for-aarch64.patch b/9000-fix-build-error-for-aarch64.patch
new file mode 100644
index 0000000..84d3e9d
--- /dev/null
+++ b/9000-fix-build-error-for-aarch64.patch
@@ -0,0 +1,74 @@
+From e88134e5a7fc83c82e4a38618dc6d0cb30ef9a18 Mon Sep 17 00:00:00 2001
+From: panchenbo <panchenbo@kylinsec.com.cn>
+Date: Sat, 19 Apr 2025 16:56:02 +0800
+Subject: [PATCH] fix build error for aarch64
+
+---
+ Utilities/KWIML/vtkkwiml/include/kwiml/abi.h | 22 +++++++++++++++++---
+ 1 file changed, 19 insertions(+), 3 deletions(-)
+
+diff --git a/Utilities/KWIML/vtkkwiml/include/kwiml/abi.h b/Utilities/KWIML/vtkkwiml/include/kwiml/abi.h
+index 0437854d..f9aa495f 100644
+--- a/Utilities/KWIML/vtkkwiml/include/kwiml/abi.h
++++ b/Utilities/KWIML/vtkkwiml/include/kwiml/abi.h
+@@ -153,38 +153,54 @@ suppression macro KWIML_ABI_NO_VERIFY was defined.
+ #endif
+
+ #if !defined(KWIML_ABI_CHAR_IS_UNSIGNED) && !defined(KWIML_ABI_CHAR_IS_SIGNED)
+-# if defined(__CHAR_UNSIGNED__) /* GNU, some IBM XL, others? */
++# if defined(__GNUC__) /* GNU default */
++# define KWIML_ABI_CHAR_IS_SIGNED 1
++# pragma message("888")
++# elif defined(__CHAR_UNSIGNED__) /* GNU, some IBM XL, others? */
+ # define KWIML_ABI_CHAR_IS_UNSIGNED 1
++# pragma message("111")
+ # elif defined(_CHAR_UNSIGNED) /* Intel, IBM XL, MSVC, Borland, others? */
+ # define KWIML_ABI_CHAR_IS_UNSIGNED 1
++# pragma message("222")
+ # elif defined(_CHAR_SIGNED) /* IBM XL, others? */
+ # define KWIML_ABI_CHAR_IS_SIGNED 1
++# pragma message("333")
+ # elif defined(__CHAR_SIGNED__) /* IBM XL, Watcom, others? */
+ # define KWIML_ABI_CHAR_IS_SIGNED 1
++# pragma message("444")
+ # elif defined(__SIGNED_CHARS__) /* EDG, Intel, SGI MIPSpro */
+ # define KWIML_ABI_CHAR_IS_SIGNED 1
++# pragma message("555")
+ # elif defined(_CHAR_IS_SIGNED) /* Some SunPro, others? */
+ # define KWIML_ABI_CHAR_IS_SIGNED 1
++# pragma message("666")
+ # elif defined(_CHAR_IS_UNSIGNED) /* SunPro, others? */
+ # define KWIML_ABI_CHAR_IS_UNSIGNED 1
+-# elif defined(__GNUC__) /* GNU default */
+-# define KWIML_ABI_CHAR_IS_SIGNED 1
++# pragma message("777")
+ # elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) /* SunPro default */
+ # define KWIML_ABI_CHAR_IS_SIGNED 1
++# pragma message("999")
+ # elif defined(__HP_cc) || defined(__HP_aCC) /* HP default (unless +uc) */
+ # define KWIML_ABI_CHAR_IS_SIGNED 1
++# pragma message("1111")
+ # elif defined(_SGI_COMPILER_VERSION) /* SGI MIPSpro default */
+ # define KWIML_ABI_CHAR_IS_UNSIGNED 1
++# pragma message("2222")
+ # elif defined(__PGIC__) /* PGI default */
+ # define KWIML_ABI_CHAR_IS_SIGNED 1
++# pragma message("3333")
+ # elif defined(_MSC_VER) /* MSVC default */
+ # define KWIML_ABI_CHAR_IS_SIGNED 1
++# pragma message("4444")
+ # elif defined(__WATCOMC__) /* Watcom default */
+ # define KWIML_ABI_CHAR_IS_UNSIGNED 1
++# pragma message("5555")
+ # elif defined(__BORLANDC__) /* Borland default */
+ # define KWIML_ABI_CHAR_IS_SIGNED 1
++# pragma message("6666")
+ # elif defined(__hpux) /* Old HP: no __HP_cc/__HP_aCC/__GNUC__ above */
+ # define KWIML_ABI_CHAR_IS_SIGNED 1 /* (unless +uc) */
++# pragma message("7777")
+ # endif
+ #endif
+ #if !defined(KWIML_ABI_CHAR_IS_UNSIGNED) && !defined(KWIML_ABI_CHAR_IS_SIGNED) \
+--
+2.27.0
+
diff --git a/VTKData-9.3.1.tar.gz b/VTKData-9.3.1.tar.gz
new file mode 100644
index 0000000..472a328
--- /dev/null
+++ b/VTKData-9.3.1.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:299569eba74413ee90cc5073511e82a957d7d685deb0a9f16362e2714e4e7f6f
+size 612744946
diff --git a/sources b/sources
new file mode 100644
index 0000000..69cd21e
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+1b237485ca2eaaf676e2031a71e82d0d VTK-9.3.1.tar.gz
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
diff --git a/xorg.conf b/xorg.conf
new file mode 100644
index 0000000..39bc48a
--- /dev/null
+++ b/xorg.conf
@@ -0,0 +1,135 @@
+# This xorg configuration file is meant to be used
+# to start a dummy X11 server for graphical testing.
+
+Section "ServerFlags"
+ Option "DontVTSwitch" "true"
+ Option "AllowMouseOpenFail" "true"
+ Option "PciForceNone" "true"
+ Option "AutoEnableDevices" "false"
+ Option "AutoAddDevices" "false"
+EndSection
+
+Section "InputDevice"
+ Identifier "dummy_mouse"
+ Option "CorePointer" "true"
+ Driver "void"
+EndSection
+
+Section "InputDevice"
+ Identifier "dummy_keyboard"
+ Option "CoreKeyboard" "true"
+ Driver "void"
+EndSection
+
+Section "Device"
+ Identifier "dummy_videocard"
+ Driver "dummy"
+ Option "ConstantDPI" "true"
+ #VideoRam 4096000
+ #VideoRam 256000
+ VideoRam 192000
+EndSection
+
+Section "Monitor"
+ Identifier "dummy_monitor"
+ HorizSync 5.0 - 1000.0
+ VertRefresh 5.0 - 200.0
+ #This can be used to get a specific DPI, but only for the default resolution:
+ #DisplaySize 508 317
+ #NOTE: the highest modes will not work without increasing the VideoRam
+ # for the dummy video card.
+ Modeline "32768x32768" 15226.50 32768 35800 39488 46208 32768 32771 32781 32953
+ Modeline "32768x16384" 7516.25 32768 35544 39192 45616 16384 16387 16397 16478
+ Modeline "16384x8192" 2101.93 16384 16416 24400 24432 8192 8390 8403 8602
+ Modeline "8192x4096" 424.46 8192 8224 9832 9864 4096 4195 4202 4301
+ Modeline "5496x1200" 199.13 5496 5528 6280 6312 1200 1228 1233 1261
+ Modeline "5280x1080" 169.96 5280 5312 5952 5984 1080 1105 1110 1135
+ Modeline "5280x1200" 191.40 5280 5312 6032 6064 1200 1228 1233 1261
+ Modeline "5120x3200" 199.75 5120 5152 5904 5936 3200 3277 3283 3361
+ Modeline "4800x1200" 64.42 4800 4832 5072 5104 1200 1229 1231 1261
+ Modeline "3840x2880" 133.43 3840 3872 4376 4408 2880 2950 2955 3025
+ Modeline "3840x2560" 116.93 3840 3872 4312 4344 2560 2622 2627 2689
+ Modeline "3840x2048" 91.45 3840 3872 4216 4248 2048 2097 2101 2151
+ Modeline "3840x1080" 100.38 3840 3848 4216 4592 1080 1081 1084 1093
+ Modeline "3600x1200" 106.06 3600 3632 3984 4368 1200 1201 1204 1214
+ Modeline "3288x1080" 39.76 3288 3320 3464 3496 1080 1106 1108 1135
+ Modeline "2048x2048" 49.47 2048 2080 2264 2296 2048 2097 2101 2151
+ Modeline "2048x1536" 80.06 2048 2104 2312 2576 1536 1537 1540 1554
+ Modeline "2560x1600" 47.12 2560 2592 2768 2800 1600 1639 1642 1681
+ Modeline "2560x1440" 42.12 2560 2592 2752 2784 1440 1475 1478 1513
+ Modeline "1920x1440" 69.47 1920 1960 2152 2384 1440 1441 1444 1457
+ Modeline "1920x1200" 26.28 1920 1952 2048 2080 1200 1229 1231 1261
+ Modeline "1920x1080" 23.53 1920 1952 2040 2072 1080 1106 1108 1135
+ Modeline "1680x1050" 20.08 1680 1712 1784 1816 1050 1075 1077 1103
+ Modeline "1600x1200" 22.04 1600 1632 1712 1744 1200 1229 1231 1261
+ Modeline "1600x900" 33.92 1600 1632 1760 1792 900 921 924 946
+ Modeline "1440x900" 30.66 1440 1472 1584 1616 900 921 924 946
+ ModeLine "1366x768" 72.00 1366 1414 1446 1494 768 771 777 803
+ Modeline "1280x1024" 31.50 1280 1312 1424 1456 1024 1048 1052 1076
+ Modeline "1280x800" 24.15 1280 1312 1400 1432 800 819 822 841
+ Modeline "1280x768" 23.11 1280 1312 1392 1424 768 786 789 807
+ Modeline "1360x768" 24.49 1360 1392 1480 1512 768 786 789 807
+ Modeline "1024x768" 18.71 1024 1056 1120 1152 768 786 789 807
+ Modeline "768x1024" 19.50 768 800 872 904 1024 1048 1052 1076
+
+
+ #common resolutions for android devices (both orientations):
+ Modeline "800x1280" 25.89 800 832 928 960 1280 1310 1315 1345
+ Modeline "1280x800" 24.15 1280 1312 1400 1432 800 819 822 841
+ Modeline "720x1280" 30.22 720 752 864 896 1280 1309 1315 1345
+ Modeline "1280x720" 27.41 1280 1312 1416 1448 720 737 740 757
+ Modeline "768x1024" 24.93 768 800 888 920 1024 1047 1052 1076
+ Modeline "1024x768" 23.77 1024 1056 1144 1176 768 785 789 807
+ Modeline "600x1024" 19.90 600 632 704 736 1024 1047 1052 1076
+ Modeline "1024x600" 18.26 1024 1056 1120 1152 600 614 617 631
+ Modeline "536x960" 16.74 536 568 624 656 960 982 986 1009
+ Modeline "960x536" 15.23 960 992 1048 1080 536 548 551 563
+ Modeline "600x800" 15.17 600 632 688 720 800 818 822 841
+ Modeline "800x600" 14.50 800 832 880 912 600 614 617 631
+ Modeline "480x854" 13.34 480 512 560 592 854 873 877 897
+ Modeline "848x480" 12.09 848 880 920 952 480 491 493 505
+ Modeline "480x800" 12.43 480 512 552 584 800 818 822 841
+ Modeline "800x480" 11.46 800 832 872 904 480 491 493 505
+ #resolutions for android devices (both orientations)
+ #minus the status bar
+ #38px status bar (and width rounded up)
+ Modeline "800x1242" 25.03 800 832 920 952 1242 1271 1275 1305
+ Modeline "1280x762" 22.93 1280 1312 1392 1424 762 780 783 801
+ Modeline "720x1242" 29.20 720 752 856 888 1242 1271 1276 1305
+ Modeline "1280x682" 25.85 1280 1312 1408 1440 682 698 701 717
+ Modeline "768x986" 23.90 768 800 888 920 986 1009 1013 1036
+ Modeline "1024x730" 22.50 1024 1056 1136 1168 730 747 750 767
+ Modeline "600x986" 19.07 600 632 704 736 986 1009 1013 1036
+ Modeline "1024x562" 17.03 1024 1056 1120 1152 562 575 578 591
+ Modeline "536x922" 16.01 536 568 624 656 922 943 947 969
+ Modeline "960x498" 14.09 960 992 1040 1072 498 509 511 523
+ Modeline "600x762" 14.39 600 632 680 712 762 779 783 801
+ Modeline "800x562" 13.52 800 832 880 912 562 575 578 591
+ Modeline "480x810" 12.59 480 512 552 584 810 828 832 851
+ Modeline "848x442" 11.09 848 880 920 952 442 452 454 465
+ Modeline "480x762" 11.79 480 512 552 584 762 779 783 801
+EndSection
+
+Section "Screen"
+ Identifier "dummy_screen"
+ Device "dummy_videocard"
+ Monitor "dummy_monitor"
+ DefaultDepth 24
+ SubSection "Display"
+ Viewport 0 0
+ Depth 24
+ #Modes "32768x32768" "32768x16384" "16384x8192" "8192x4096" "5120x3200" "3840x2880" "3840x2560" "3840x2048" "2048x2048" "2560x1600" "1920x1440" "1920x1200" "1920x1080" "1600x1200" "1680x1050" "1600x900" "1400x1050" "1440x900" "1280x1024" "1366x768" "1280x800" "1024x768" "1024x600" "800x600" "320x200"
+ Modes "5120x3200" "3840x2880" "3840x2560" "3840x2048" "2048x2048" "2560x1600" "1920x1440" "1920x1200" "1920x1080" "1600x1200" "1680x1050" "1600x900" "1400x1050" "1440x900" "1280x1024" "1366x768" "1280x800" "1024x768" "1024x600" "800x600" "320x200"
+ #Virtual 32000 32000
+ #Virtual 16384 8192
+ Virtual 8192 4096
+ #Virtual 5120 3200
+ EndSubSection
+EndSection
+
+Section "ServerLayout"
+ Identifier "dummy_layout"
+ Screen "dummy_screen"
+ InputDevice "dummy_mouse"
+ InputDevice "dummy_keyboard"
+EndSection