# - NVCtrlLib for Rendering/OpenGL (on bcond)
# - VTK_USE_SYSTEM_XDMF2=ON ? (but our xdmf-devel seems not compatible)
# - python bcond?
+# - use system exodusii
#
# Conditional build
%bcond_without java # Java wrappers
Summary(pl.UTF-8): Zestaw narzędzi do trójwymiarowej grafiki, przetwarzania obrazu i wizualizacji
Name: vtk
Version: 8.2.0
-Release: 0.1
+Release: 1
License: BSD
Group: Libraries
Source0: http://www.vtk.org/files/release/8.2/VTK-%{version}.tar.gz
Patch3: qt-5.15.patch
Patch4: python-3.8.patch
Patch5: link.patch
+Patch6: system-pugixml.patch
URL: http://www.vtk.org/
%{?with_OSMesa:BuildRequires: Mesa-libOSMesa-devel}
BuildRequires: OpenGL-GLX-devel
BuildRequires: Qt5UiTools-devel
BuildRequires: R
BuildRequires: boost-devel >= 1.39
-BuildRequires: cmake >= 2.8.8
+BuildRequires: cmake >= 3.3
+BuildRequires: double-conversion-devel
%{?with_doc:BuildRequires: doxygen}
+BuildRequires: eigen3 >= 2.91.0
BuildRequires: expat-devel
%{?with_ffmpeg:BuildRequires: ffmpeg-devel}
BuildRequires: fontconfig-devel
BuildRequires: freetype-devel >= 2
BuildRequires: gdal-devel
%{?with_system_gl2ps:BuildRequires: gl2ps-devel >= 1.3.8}
+BuildRequires: glew-devel
BuildRequires: gnuplot
BuildRequires: graphviz
BuildRequires: hdf5-devel
BuildRequires: jdk >= 1.5
BuildRequires: jpackage-utils
%endif
-BuildRequires: jsoncpp-devel
+BuildRequires: jsoncpp-devel >= 0.7.0
BuildRequires: libharu-devel
BuildRequires: libjpeg-devel
BuildRequires: libogg-devel
BuildRequires: perl-base
BuildRequires: postgresql-devel
BuildRequires: proj-devel >= 6.0
+BuildRequires: pugixml-devel
BuildRequires: python3-devel
BuildRequires: python3-sip-devel
BuildRequires: qt5-build >= 4.5.0
BuildRequires: rpmbuild(macros) >= 1.605
BuildRequires: sip
BuildRequires: sip-PyQt5
+BuildRequires: sqlite3-devel
BuildRequires: tcl-devel
BuildRequires: tk-devel
BuildRequires: unixODBC-devel
BuildRequires: xorg-lib-libXext-devel
BuildRequires: xorg-lib-libXft-devel
BuildRequires: xorg-lib-libXt-devel
+BuildRequires: xz-devel
BuildRequires: zlib-devel
BuildConflicts: libXNVCtrl-devel
+Obsoletes: vtk-tcl < 8.2.0-1
+Obsoletes: vtk-tcl-devel < 8.2.0-1
%{?with_system_gl2ps:Requires: gl2ps >= 1.3.8}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
The Visualization ToolKit (VTK) is an object oriented software system
for 3D computer graphics, image processing, and visualization. VTK
includes a textbook, a C++ class library, and several interpreted
-interface layers including Tcl/Tk, Java, and Python. VTK supports a
+interface layers including Java, and Python. VTK supports a
wide variety of visualization algorithms including scalar, vector,
tensor, texture, and volumetric methods. It also supports advanced
modeling techniques like implicit modeling, polygon reduction, mesh
Visualization TookKit (VTK) to obiektowo zorientowany system
oprogramowania do trójwymiarowej grafiki komputerowej, przetwarzania
obrazu i wizualizacji. VTK zawiera książkę, bibliotekę klas C++ oraz
-kilka interpretowanych warstw interfejsów, w tym dla Tcl/Tk, Javy i
+kilka interpretowanych warstw interfejsów, w tym dla Javy i
Pythona. VTK obsługuje szeroki zakres algorytmów wizualizacji, w tym
metody skalarne, wektorowe, tensorowe, teksturowe i wolumetryczne.
Obsługuje także zaawansowane techniki modelowania, takie jak
%description python3-devel -l pl.UTF-8
Pliki nagłówkowe wiązania Pythona 3 do VTK.
-%package tcl
-Summary: Tcl bindings for VTK
-Summary(pl.UTF-8): Wiązania języka Tcl do VTK
-Group: Libraries
-Requires: %{name} = %{version}-%{release}
-# or separate qt parts?
-Requires: %{name}-qt = %{version}-%{release}
-
-%description tcl
-This package contains Tcl bindings for VTK.
-
-%description tcl -l pl.UTF-8
-Ten pakiet zawiera wiązania języka Tcl do VTK.
-
-%package tcl-devel
-Summary: Header files for Tcl VTK bindings
-Summary(pl.UTF-8): Pliki nagłówkowe wiązania języka Tcl do VTK
-Group: Development/Libraries
-Requires: %{name}-devel = %{version}-%{release}
-Requires: %{name}-tcl = %{version}-%{release}
-Requires: tcl-devel
-Requires: tk-devel
-
-%description tcl-devel
-Header files for Tcl VTK bindings.
-
-%description tcl-devel -l pl.UTF-8
-Pliki nagłówkowe wiązania języka Tcl do VTK.
-
%package examples
-Summary: C++, Tcl and Python example programs/scripts for VTK
-Summary(pl.UTF-8): Przykładowe programy/skrypty w C++, Tcl-u i Pythonie dla VTK
+Summary: C++ and Python example programs/scripts for VTK
+Summary(pl.UTF-8): Przykładowe programy/skrypty w C++ i Pythonie dla VTK
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: %{name}-data = %{version}-%{release}
%description examples
This package contains all the examples from the VTK source. To compile
the C++ examples you will need to install the vtk-devel package as
-well. The Python and Tcl examples can be run with the corresponding
-packages (vtk-python, vtk-tcl).
+well. The Python examples can be run with the corresponding
+packages (vtk-python3).
%description examples -l pl.UTF-8
Ten pakiet zawiera wszystkie przykłady ze źródeł VTK. Do skompilowania
przykładów w C++ trzeba doinstalować pakiet vtk-devel. Przykłady w
-Pythonie i Tcl-u można uruchamiać przy użyciu odpowiednich pakietów
-(vtk-python, vtk-tcl).
+Pythonie można uruchamiać przy użyciu odpowiednich pakietów
+(vtk-python3).
%package test-suite
Summary: Test programs for VTK
%patch3 -p1
%patch4 -p1
%patch5 -p1
+%patch6 -p1
# Replace relative path ../../../VTKData with destination filesystem path
grep -Erl '(\.\./)+VTKData' Examples | xargs \
%{__rm} -r vtk-examples/Examples/GUI/Win32
find vtk-examples -type f | xargs chmod -R a-x
+for x in doubleconversion eigen expat freetype %{?with_system_gl2ps:gl2ps }glew hdf5 jpeg jsoncpp libproj libxml2 lz4 lzma netcdf ogg png pugixml sqlite theora tiff zfp zlib; do
+%{__rm} -r ThirdParty/*/vtk$x
+done
+
%build
export CFLAGS="%{rpmcflags} -D_UNICODE -DHAVE_UINTPTR_T"
export CXXFLAGS="%{rpmcxxflags} -D_UNICODE -DHAVE_UINTPTR_T"
-DVTK_INSTALL_PACKAGE_DIR:PATH=%{_lib}/cmake/vtk \
-DVTK_INSTALL_TCL_DIR:PATH=share/tcl%{tcl_version}/vtk \
-DVTK_INSTALL_QT_DIR=/%{_lib}/qt5/plugins/designer \
+ -DVTK_INSTALL_PYTHON_MODULES_DIR:PATH=%{py3_sitedir} \
-DVTK_FFMPEG_HAS_OLD_HEADER:BOOL=OFF \
%{?with_OSMesa:-DVTK_OPENGL_HAS_OSMESA:BOOL=ON} \
-DVTK_USE_SYSTEM_LIBRARIES:BOOL=ON \
%post python3 -p /sbin/ldconfig
%postun python3 -p /sbin/ldconfig
-%post tcl -p /sbin/ldconfig
-%postun tcl -p /sbin/ldconfig
-
%files
%defattr(644,root,root,755)
%doc README.md vtkBanner.gif vtkLogo.ico Wrapping/Tools/README*
%attr(755,root,root) %{_libdir}/vtk/libvtkViewsGeovis.so.1
%attr(755,root,root) %{_libdir}/vtk/libvtkViewsInfovis.so.1
%attr(755,root,root) %{_libdir}/vtk/libvtkVPIC.so.1
+%attr(755,root,root) %{_libdir}/vtk/libvtkexodusII.so.1
%attr(755,root,root) %{_libdir}/vtk/libvtkgl2ps.so.1
%attr(755,root,root) %{_libdir}/vtk/libvtklibharu.so.1
%attr(755,root,root) %{_libdir}/vtk/libvtkmetaio.so.1
%attr(755,root,root) %{_libdir}/vtk/libvtkViewsGeovis.so
%attr(755,root,root) %{_libdir}/vtk/libvtkViewsInfovis.so
%attr(755,root,root) %{_libdir}/vtk/libvtkVPIC.so
+%attr(755,root,root) %{_libdir}/vtk/libvtkexodusII.so
%attr(755,root,root) %{_libdir}/vtk/libvtkgl2ps.so
%attr(755,root,root) %{_libdir}/vtk/libvtklibharu.so
%attr(755,root,root) %{_libdir}/vtk/libvtkmetaio.so
%{_includedir}/vtk/VPIC
%{_includedir}/vtk/DICOM*.h
%{_includedir}/vtk/DatabaseSchemaWith2Tables.h
+%{_includedir}/vtk/LSDyna*.h
+%{_includedir}/vtk/vtkexodusII
%{_includedir}/vtk/vtkgl2ps
%{_includedir}/vtk/vtkkwiml
%{_includedir}/vtk/vtklibharu
%exclude %{_includedir}/vtk/vtkQImageToImageSource.h
%exclude %{_includedir}/vtk/vtkQt*.h
%exclude %{_includedir}/vtk/vtkRenderingQtModule.h
-%exclude %{_includedir}/vtk/vtkTk*.h
%exclude %{_includedir}/vtk/vtkViewsQtModule.h
%{_libdir}/cmake/vtk
%attr(755,root,root) %{_bindir}/vtkWrapPython
%attr(755,root,root) %{_bindir}/vtkWrapPythonInit
%attr(755,root,root) %{_bindir}/vtkpython
-%attr(755,root,root) %{_libdir}/vtk/libvtk*Python2?D.so.1
+%attr(755,root,root) %{_libdir}/vtk/libvtk*Python3?D.so.1
+%attr(755,root,root) %{_libdir}/vtk/libvtkPythonContext2D.so.1
%attr(755,root,root) %{_libdir}/vtk/libvtkPythonInterpreter.so.1
# RenderingMatplotlib requires PythonInterpreter
%attr(755,root,root) %{_libdir}/vtk/libvtkRenderingMatplotlib.so.1
-%attr(755,root,root) %{_libdir}/vtk/libvtkRenderingPythonTkWidgets-8.1.so
-%attr(755,root,root) %{_libdir}/vtk/libvtkWrappingPython2?Core.so.1
-%dir %{py3_sitedir}/vtk
-%{py3_sitedir}/vtk/*.py[co]
-%dir %{py3_sitedir}/vtk/gtk
-%{py3_sitedir}/vtk/gtk/*.py[co]
-%dir %{py3_sitedir}/vtk/numpy_interface
-%{py3_sitedir}/vtk/numpy_interface/*.py[co]
-%dir %{py3_sitedir}/vtk/qt
-%{py3_sitedir}/vtk/qt/*.py[co]
-%dir %{py3_sitedir}/vtk/qt4
-%{py3_sitedir}/vtk/qt4/*.py[co]
-%dir %{py3_sitedir}/vtk/test
-%{py3_sitedir}/vtk/test/*.py[co]
-%dir %{py3_sitedir}/vtk/tk
-%{py3_sitedir}/vtk/tk/*.py[co]
-%dir %{py3_sitedir}/vtk/util
-%{py3_sitedir}/vtk/util/*.py[co]
-%dir %{py3_sitedir}/vtk/wx
-%{py3_sitedir}/vtk/wx/*.py[co]
-%attr(755,root,root) %{py_sitedir}/vtk/vtk*Python.so
+%attr(755,root,root) %{_libdir}/vtk/libvtkRenderingPythonTkWidgets-8.2.so
+%attr(755,root,root) %{_libdir}/vtk/libvtkWrappingPython3?Core.so.1
+%dir %{py3_sitedir}/vtk.py
+%dir %{py3_sitedir}/vtkmodules
+%{py3_sitedir}/vtkmodules/*.py
+%{py3_sitedir}/vtkmodules/__pycache__
+%dir %{py3_sitedir}/vtkmodules/gtk
+%{py3_sitedir}/vtkmodules/gtk/*.py
+%{py3_sitedir}/vtkmodules/gtk/__pycache__
+%dir %{py3_sitedir}/vtkmodules/numpy_interface
+%{py3_sitedir}/vtkmodules/numpy_interface/*.py
+%{py3_sitedir}/vtkmodules/numpy_interface/__pycache__
+%dir %{py3_sitedir}/vtkmodules/qt
+%{py3_sitedir}/vtkmodules/qt/*.py
+%{py3_sitedir}/vtkmodules/qt/__pycache__
+%dir %{py3_sitedir}/vtkmodules/qt4
+%{py3_sitedir}/vtkmodules/qt4/*.py
+%{py3_sitedir}/vtkmodules/qt4/__pycache__
+%dir %{py3_sitedir}/vtkmodules/test
+%{py3_sitedir}/vtkmodules/test/*.py
+%{py3_sitedir}/vtkmodules/test/__pycache__
+%dir %{py3_sitedir}/vtkmodules/tk
+%{py3_sitedir}/vtkmodules/tk/__pycache__
+%{py3_sitedir}/vtkmodules/tk/*.py
+%dir %{py3_sitedir}/vtkmodules/util
+%{py3_sitedir}/vtkmodules/util/*.py
+%{py3_sitedir}/vtkmodules/util/__pycache__
+%dir %{py3_sitedir}/vtkmodules/wx
+%{py3_sitedir}/vtkmodules/wx/*.py
+%{py3_sitedir}/vtkmodules/wx/__pycache__
+%attr(755,root,root) %{py3_sitedir}/vtkmodules/vtk*Python.so
%files python3-devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/vtk/libvtk*Python3?D.so
+%attr(755,root,root) %{_libdir}/vtk/libvtkPythonContext2D.so
%attr(755,root,root) %{_libdir}/vtk/libvtkPythonInterpreter.so
%attr(755,root,root) %{_libdir}/vtk/libvtkRenderingMatplotlib.so
%attr(755,root,root) %{_libdir}/vtk/libvtkWrappingPython3?Core.so
%{_includedir}/vtk/PyVTK*.h
%{_includedir}/vtk/vtkPython*.h
-%files tcl
-%defattr(644,root,root,755)
-%doc Wrapping/Tcl/README*
-%attr(755,root,root) %{_bindir}/vtkWrapTcl
-%attr(755,root,root) %{_bindir}/vtkWrapTclInit
-%attr(755,root,root) %{_bindir}/vtk
-%{_datadir}/tcl%{tcl_version}/vtk
-
-%files tcl-devel
-%defattr(644,root,root,755)
-%{_includedir}/vtk/vtkTcl*.h
-%{_includedir}/vtk/vtkTk*.h
-
%files test-suite
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/*Tests