diff options
author | CoprDistGit <infra@openeuler.org> | 2025-08-06 12:10:25 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2025-08-06 12:10:25 +0000 |
commit | 2df3268b4d36c727f725353b5afd6cbedbc58175 (patch) | |
tree | d54da3780976751bdd0b7bc97ff4d7c4f950a960 /vtk.spec | |
parent | f787b6a237c87a5217b537c63c6a8d3f1ac35eeb (diff) |
automatic import of vtk
Diffstat (limited to 'vtk.spec')
-rw-r--r-- | vtk.spec | 848 |
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 |