vtk/vtk.spec

259 lines
8.2 KiB
RPMSpec

%define majver %(echo %version | cut -d. -f1-2)
%define fastfloatver %(rpm -q --queryformat '%%{version}' libfast_float-devel | head -n1)
Name: vtk
Version: 9.3.1
Release: 2mamba
Summary: Software system for 3D computer graphics, image processing, and visualization
Group: Applications/Scientific
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: https://vtk.org/
Source: https://www.vtk.org/files/release/%{majver}/VTK-%{version}.tar.gz
Patch0: vtk-9.3.0-pdal-2.6.0.patch
Patch1: vtk-9.3.1-ospray-3.1.0.patch
Patch2: vtk-9.3.0-occt-7.6.3.patch
Patch3: vtk-9.3.1-libfmt-11.0.2.patch
Patch4: vtk-9.3.1-opencascade-7.8.1.patch
License: BSD
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: java-openjdk17-headless
BuildRequires: java-openjdk17-runtime
BuildRequires: libQt5Core
BuildRequires: libQt5Gui
BuildRequires: libQt5Network
BuildRequires: libQt5OpenGL
BuildRequires: libQt5Sql
BuildRequires: libQt5Widgets
BuildRequires: libX11-devel
BuildRequires: libXcursor-devel
BuildRequires: libXfixes-devel
BuildRequires: libXrender-devel
BuildRequires: libadios2-devel
BuildRequires: libarchive-devel
BuildRequires: libavcodec-devel
BuildRequires: libavformat-devel
BuildRequires: libavutil-devel
BuildRequires: libboost-devel
BuildRequires: libbzip2-devel
BuildRequires: libcgns-devel
BuildRequires: libcurl-devel
BuildRequires: libdouble-conversion-devel
BuildRequires: libexpat-devel
BuildRequires: libfmt-devel
BuildRequires: libfontconfig-devel
BuildRequires: libfreetype-devel
BuildRequires: libgcc
BuildRequires: libgdal-devel
BuildRequires: libgl2ps-devel
BuildRequires: libglew-devel
BuildRequires: libglvnd-devel
BuildRequires: libgomp-devel
BuildRequires: libharu-devel
BuildRequires: libhdf5-devel
BuildRequires: libiodbc-devel
BuildRequires: libjpeg-turbo
BuildRequires: libjsoncpp-devel
BuildRequires: liblas-devel
BuildRequires: liblz4-devel
BuildRequires: liblzma-devel
BuildRequires: libmariadb-devel
BuildRequires: libmpi-devel
BuildRequires: libnetcdf-devel
BuildRequires: libogg-devel
BuildRequires: liboidn-devel
BuildRequires: libopencascade-devel
BuildRequires: libopenvdb-devel
BuildRequires: libopenvr-devel
BuildRequires: libopenxr-devel
BuildRequires: libospray-devel
BuildRequires: libpdal-devel
BuildRequires: libpng-devel
BuildRequires: libpostgresql-devel
BuildRequires: libproj-devel
BuildRequires: libpython3-devel
BuildRequires: libpython311-devel
BuildRequires: librkcommon-devel
BuildRequires: libsqlite-devel
BuildRequires: libstdc++6-devel
BuildRequires: libswresample-devel
BuildRequires: libswscale-devel
BuildRequires: libtbb-devel
BuildRequires: libtcl-devel
BuildRequires: libtheora-devel
BuildRequires: libtiff-devel
BuildRequires: libtk-devel
BuildRequires: libverdict-devel
BuildRequires: libxml2-devel
BuildRequires: libz-devel
BuildRequires: libzstd-devel
BuildRequires: pugixml-devel
BuildRequires: qt5-qtdeclarative-devel
## AUTOBUILDREQ-END
BuildRequires: libopencascade >= 7.8.1-2mamba
BuildRequires: cmake
BuildRequires: eigen3-devel
BuildRequires: libcli11-devel
BuildRequires: libfast_float-devel
BuildRequires: libutfcpp-devel
BuildRequires: python-mpi4py-py3
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
%description
The Visualization Toolkit (VTK) is open source software for manipulating and displaying scientific data. It comes with state-of-the-art tools for 3D rendering, a suite of widgets for 3D interaction, and extensive 2D plotting capability.
%package -n lib%{name}
Group: System/Libraries
Summary: Libraries for 3D computer graphics, image processing, and visualization
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
%description -n lib%{name}
The Visualization Toolkit (VTK) is open source software for manipulating and displaying scientific data. It comes with state-of-the-art tools for 3D rendering, a suite of widgets for 3D interaction, and extensive 2D plotting capability.
This package contains shared libraries for %{name}.
%package -n lib%{name}-devel
Group: Development/Libraries
Summary: Development files for %{name}
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
%description -n lib%{name}-devel
This package contains libraries and header files for developing applications that use %{name}.
%debug_package
# Don't clean build at the end
%global __spec_rmbuild_cmd /bin/true
%prep
%setup -q -n VTK-%{version} -D -T
:<< _EOF
%define _default_patch_fuzz 2
sed -i "s|3.9.0|%{fastfloatver}|" ThirdParty/fast_float/CMakeLists.txt
#% patch 0 -p1 -b .pdal-2.6.0
%patch 1 -p1 -b .ospray-3.1.0
%patch 2 -p1 -b .occt-7.6.3
%patch 3 -p1 -b .libfmt-11.0.2
%patch 4 -p1 -b .opencascade-7.8.1
%ifarch aarch64
rm -rf Remote/MomentInvariants*
%endif
%build
%cmake \
-DCMAKE_INSTALL_LIBDIR=%{_lib} \
-DINCLUDE_INSTALL_DIR=include \
-DCMAKE_C_FLAGS="%{optflags} -fcommon" \
-DCMAKE_PREFIX_PATH=%{_libdir}/cmake/occt/ \
-DPython3_EXECUTABLE=%{__python3} \
-DPython3_INCLUDE_DIR=%{python3_inc} \
-DBUILD_SHARED_LIBS=ON \
-DVTK_BUILD_ALL_MODULES=ON \
-DVTK_INSTALL_TCL_DIR=/usr/lib/tcl8.6/vtk/ \
-DVTK_LEGACY_REMOVE=ON \
-DVTK_SMP_ENABLE_OPENMP=ON \
-DVTK_SMP_IMPLEMENTATION_TYPE=TBB \
-DVTK_PYTHON_VERSION=3 \
-DVTK_QT_VERSION=5 \
-DVTK_USE_MPI=ON \
-DVTK_USE_TK=ON \
-DVTK_VERSIONED_INSTALL=OFF \
-DVTK_WRAP_JAVA=ON \
-DVTK_WRAP_PYTHON=ON \
-DVTKOSPRAY_ENABLE_DENOISER=ON \
-DVTKm_ENABLE_HDF5_IO=ON \
-DVTKm_ENABLE_MPI=ON \
-DVTKm_ENABLE_OPENMP=ON \
-DVTK_USE_EXTERNAL=ON \
-DVTK_MODULE_USE_EXTERNAL_VTK_exprtk=OFF \
-DVTK_MODULE_USE_EXTERNAL_VTK_ioss=OFF \
-DVTK_MODULE_USE_EXTERNAL_VTK_pegtl=OFF \
-DVTK_MODULE_ENABLE_VTK_DomainsMicroscopy=NO \
-DVTK_MODULE_ENABLE_VTK_FiltersOpenTURNS=NO \
-DVTK_MODULE_ENABLE_VTK_RenderingZSpace=NO \
%ifnarch x86_64
-DVTK_MODULE_ENABLE_VTK_RenderingLookingGlass=NO \
%endif
-DOpenGL_GL_PREFERENCE=LEGACY \
-DVTK_IGNORE_CMAKE_CXX11_CHECKS=ON \
-Wno-dev
%cmake_build
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%cmake_install
# Fix location of java files
install -dv %{buildroot}%{_javadir}/vtk
mv %{buildroot}%{_libdir}/java/vtk.jar %{buildroot}%{_javadir}/vtk/
mv %{buildroot}%{_libdir}/java/vtk-Linux-*/*.so %{buildroot}%{_libdir}/
rmdir %{buildroot}%{_libdir}/java/{vtk-Linux-*/,}
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%files -n %{name}
%defattr(-,root,root)
%{_bindir}/vtk*
%{_bindir}/pvtkpython
%dir %{_datadir}/vr_actions
%{_datadir}/vr_actions/vtk_openvr_*.json
%{_datadir}/vr_actions/vtk_openxr_*.json
%dir %{_datadir}/licenses/VTK
%{_datadir}/licenses/VTK/*
%files -n lib%{name}
%defattr(-,root,root)
%{_libdir}/libvtk*.so.*
%{_libdir}/libvtk*Java.so
%dir %{_libdir}/vtk
%dir %{_libdir}/vtk/hierarchy
%dir %{_libdir}/vtk/hierarchy/VTK
%{_libdir}/vtk/hierarchy/VTK/*
%{python3_sitearch}/vtk.py
%dir %{python3_sitearch}/vtkmodules
%{python3_sitearch}/vtkmodules/*
%dir %{_javadir}/vtk
%{_javadir}/vtk/vtk.jar
%dir %{_libdir}/qml/VTK.%{majver}
%{_libdir}/qml/VTK.%{majver}/*
%doc Copyright.txt
%files -n lib%{name}-devel
%defattr(-,root,root)
%dir %{_includedir}/vtk
%{_includedir}/vtk/*
%dir %{_includedir}/fides
%{_includedir}/fides/*
%{_libdir}/libvtk*.so
%exclude %{_libdir}/libvtk*Java.so
%dir %{_libdir}/cmake/vtk
%{_libdir}/cmake/vtk/*
%doc README.md
%changelog
* Fri Oct 25 2024 Silvan Calarco <silvan.calarco@mambasoft.it> 9.3.1-2mamba
- rebuilt with libopencascade >= 7.8.1-2mamba
* Wed Oct 16 2024 Automatic Build System <autodist@openmamba.org> 9.3.1-1mamba
- automatic version update by autodist
* Sat May 04 2024 Silvan Calarco <silvan.calarco@mambasoft.it> 9.3.0-2mamba
- rebuilt with more cmake options
* Sat Nov 25 2023 Automatic Build System <autodist@mambasoft.it> 9.3.0-1mamba
- automatic version update by autodist
* Thu Jun 02 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 9.1.0-2mamba
- rebuilt with -DVTK_VERSIONED_INSTALL=OFF
* Wed Jun 01 2022 Automatic Build System <autodist@mambasoft.it> 9.1.0-1mamba
- automatic version update by autodist
* Tue Dec 03 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 8.2.0-1mamba
- package created using the webbuild interface