Update to 8.1.1

Use Qt 5
Use Python 3
This commit is contained in:
Orion Poplawski 2018-10-03 13:33:11 -06:00
parent 48b5f15e37
commit 1a2f805dad
4 changed files with 284 additions and 98 deletions

2
.gitignore vendored
View File

@ -13,3 +13,5 @@ vtk-5.6.0.tar.gz
/VTKData-7.1.0.tar.gz /VTKData-7.1.0.tar.gz
/VTK-7.1.1.tar.gz /VTK-7.1.1.tar.gz
/VTKData-7.1.1.tar.gz /VTKData-7.1.1.tar.gz
/VTK-8.1.1.tar.gz
/VTKData-8.1.1.tar.gz

40
4490.patch Normal file
View File

@ -0,0 +1,40 @@
From 706f1b397df09a27ab8981ab9464547028d0c322 Mon Sep 17 00:00:00 2001
From: David Gobbi <david.gobbi@gmail.com>
Date: Wed, 11 Jul 2018 17:14:50 -0600
Subject: [PATCH] Fix compilation issue due to Python3.7 API change
The PyUnicode_AsUTF8() method returns a "const char *" in Py37.
---
Wrapping/PythonCore/vtkPythonArgs.cxx | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/Wrapping/PythonCore/vtkPythonArgs.cxx b/Wrapping/PythonCore/vtkPythonArgs.cxx
index 1a82af0802..b733458975 100644
--- a/Wrapping/PythonCore/vtkPythonArgs.cxx
+++ b/Wrapping/PythonCore/vtkPythonArgs.cxx
@@ -95,13 +95,21 @@ bool vtkPythonGetStringValue(PyObject *o, T *&a, const char *exctext)
{
if (PyBytes_Check(o))
{
+#if PY_VERSION_HEX >= 0x03070000
+ a = const_cast<char *>(PyBytes_AS_STRING(o));
+ return true;
+#else
a = PyBytes_AS_STRING(o);
return true;
+#endif
}
#ifdef Py_USING_UNICODE
else if (PyUnicode_Check(o))
{
-#if PY_VERSION_HEX >= 0x03030000
+#if PY_VERSION_HEX >= 0x03070000
+ a = const_cast<char *>(PyUnicode_AsUTF8(o));
+ return true;
+#elif PY_VERSION_HEX >= 0x03030000
a = PyUnicode_AsUTF8(o);
return true;
#else
--
2.18.1

View File

@ -1,2 +1,2 @@
SHA512 (VTK-7.1.1.tar.gz) = 34a068801fe45f98325e5334d2569fc9b15ed38620386f1b5b860c9735e5fb8510953b50a3340d3ef9795e22fecf798c25bf750215b2ff1ff1eb7a1ecd87b623 SHA512 (VTK-8.1.1.tar.gz) = 7ab38042f6d94d1580125b3a68a6d17cdc3de925d0e886ebfc8c414adfba1438f5783d896a4cd1bb7e15462450107ab5773a3a749195b357f062e91d5c410060
SHA512 (VTKData-7.1.1.tar.gz) = 9fb2d10ee87d4aaa57aa31941ba2753d844658fb39fe84808500690ca4f74b87fdd68a31f4680789b7e57bb1edd3de9163ca533e54a7121348de7eac6165b988 SHA512 (VTKData-8.1.1.tar.gz) = 6c20cfb9dda9d64c27946693f22357f38699d2ff014c2f33e3b05573935eaf3b7a4e30a8cf5747772a6dafe39c20e90b78a0267620ff6b6d5b487edf8ef4f975

336
vtk.spec
View File

@ -2,8 +2,7 @@
%bcond_without OSMesa %bcond_without OSMesa
%bcond_without java %bcond_without java
%bcond_without mpich %bcond_without mpich
# Need to coordinate with other qt users first %bcond_without qt5
%bcond_with qt5
%bcond_without openmpi %bcond_without openmpi
# VTK currently is carrying local modifications to gl2ps # VTK currently is carrying local modifications to gl2ps
%bcond_with gl2ps %bcond_with gl2ps
@ -16,17 +15,17 @@
Summary: The Visualization Toolkit - A high level 3D visualization library Summary: The Visualization Toolkit - A high level 3D visualization library
Name: vtk Name: vtk
Version: 7.1.1 Version: 8.1.1
Release: 13%{?dist} Release: 1%{?dist}
# This is a variant BSD license, a cross between BSD and ZLIB. # This is a variant BSD license, a cross between BSD and ZLIB.
# For all intents, it has the same rights and restrictions as BSD. # For all intents, it has the same rights and restrictions as BSD.
# http://fedoraproject.org/wiki/Licensing/BSD#VTKBSDVariant # http://fedoraproject.org/wiki/Licensing/BSD#VTKBSDVariant
License: BSD License: BSD
Source0: http://www.vtk.org/files/release/7.1/VTK-%{version}.tar.gz Source0: http://www.vtk.org/files/release/8.1/VTK-%{version}.tar.gz
Source1: http://www.vtk.org/files/release/7.1/VTKData-%{version}.tar.gz Source1: http://www.vtk.org/files/release/8.1/VTKData-%{version}.tar.gz
Source2: xorg.conf Source2: xorg.conf
# Also set -Wno-format-security when setting -Wno-format # Python 3.7 compat
Patch0: vtk-format.patch Patch0: https://gitlab.kitware.com/vtk/vtk/merge_requests/4490.patch
# Fix tcl library loading # Fix tcl library loading
# http://www.vtk.org/Bug/view.php?id=15279 # http://www.vtk.org/Bug/view.php?id=15279
Patch5: vtk-tcllib.patch Patch5: vtk-tcllib.patch
@ -40,7 +39,11 @@ BuildRequires: libX11-devel, libXt-devel, libXext-devel
BuildRequires: libICE-devel, libGL-devel BuildRequires: libICE-devel, libGL-devel
%{?with_OSMesa:BuildRequires: mesa-libOSMesa-devel} %{?with_OSMesa:BuildRequires: mesa-libOSMesa-devel}
BuildRequires: tk-devel, tcl-devel BuildRequires: tk-devel, tcl-devel
%if 0%{?fedora} >= 30
BuildRequires: python%{python3_pkgversion}-devel
%else
BuildRequires: python2-devel BuildRequires: python2-devel
%endif
BuildRequires: expat-devel, freetype-devel, libjpeg-devel, libpng-devel BuildRequires: expat-devel, freetype-devel, libjpeg-devel, libpng-devel
%if 0%{with gl2ps} %if 0%{with gl2ps}
BuildRequires: gl2ps-devel BuildRequires: gl2ps-devel
@ -52,7 +55,11 @@ BuildRequires: cmake(Qt5)
BuildRequires: cmake(Qt5UiPlugin) BuildRequires: cmake(Qt5UiPlugin)
BuildRequires: cmake(Qt5X11Extras) BuildRequires: cmake(Qt5X11Extras)
BuildRequires: qt5-qtwebkit-devel BuildRequires: qt5-qtwebkit-devel
%if 0%{?fedora} >= 30
BuildRequires: python%{python3_pkgversion}-qt5
%else
BuildRequires: python-qt5 BuildRequires: python-qt5
%endif
%else %else
BuildRequires: PyQt4-devel BuildRequires: PyQt4-devel
BuildRequires: qt4-devel BuildRequires: qt4-devel
@ -79,14 +86,25 @@ BuildRequires: wget
BuildRequires: %{_includedir}/Xm BuildRequires: %{_includedir}/Xm
BuildRequires: blas-devel BuildRequires: blas-devel
BuildRequires: lapack-devel BuildRequires: lapack-devel
# Requires patched libharu https://github.com/libharu/libharu/pull/157
#BuildRequires: libharu-devel
BuildRequires: lz4-devel
%if %{with mpich} %if %{with mpich}
BuildRequires: mpich-devel BuildRequires: mpich-devel
BuildRequires: mpi4py-mpich %if 0%{?fedora} >= 30
BuildRequires: python%{?python3_pkgversion}-mpi4py-mpich
%else
BuildRequires: python2-mpi4py-mpich
%endif
BuildRequires: netcdf-mpich-devel BuildRequires: netcdf-mpich-devel
%endif %endif
%if %{with openmpi} %if %{with openmpi}
BuildRequires: openmpi-devel BuildRequires: openmpi-devel
BuildRequires: mpi4py-openmpi %if 0%{?fedora} >= 30
BuildRequires: python%{?python3_pkgversion}-mpi4py-openmpi
%else
BuildRequires: python2-mpi4py-openmpi
%endif
BuildRequires: netcdf-openmpi-devel BuildRequires: netcdf-openmpi-devel
%endif %endif
# For %check # For %check
@ -120,6 +138,7 @@ Provides: bundled(ftgl) = 1.32
Provides: bundled(gl2ps) = 1.4.0 Provides: bundled(gl2ps) = 1.4.0
%endif %endif
Provides: bundled(glew) Provides: bundled(glew)
Provides: bundled(libharu)
Provides: bundled(metaio) Provides: bundled(metaio)
Provides: bundled(sqlite) = 3.6.22 Provides: bundled(sqlite) = 3.6.22
Provides: bundled(utf8cpp) Provides: bundled(utf8cpp)
@ -128,9 +147,6 @@ Provides: bundled(vpic)
Provides: bundled(xdmf2) = 2.1 Provides: bundled(xdmf2) = 2.1
Provides: bundled(xdmf3) Provides: bundled(xdmf3)
# Do not check .so files in the python2_sitearch directory
%global __provides_exclude_from ^%{python2_sitearch}/.*\\.so$
%description %description
VTK is an open-source software system for image processing, 3D VTK is an open-source software system for image processing, 3D
graphics, volume rendering and visualization. VTK includes many graphics, volume rendering and visualization. VTK includes many
@ -149,8 +165,13 @@ Install the %{name}-openmpi package to get a version compiled with openmpi.
%package devel %package devel
Summary: VTK header files for building C++ code Summary: VTK header files for building C++ code
Requires: vtk%{?_isa} = %{version}-%{release} Requires: vtk%{?_isa} = %{version}-%{release}
Requires: vtk-python%{?_isa} = %{version}-%{release} %if 0%{?fedora} >= 30
Requires: vtk-qt-python%{?_isa} = %{version}-%{release} Requires: python%{python3_pkgversion}-vtk%{?_isa} = %{version}-%{release}
Requires: python%{python3_pkgversion}-vtk-qt%{?_isa} = %{version}-%{release}
%else
Requires: python2-vtk%{?_isa} = %{version}-%{release}
Requires: python2-vtk-qt%{?_isa} = %{version}-%{release}
%endif
Requires: vtk-qt-tcl%{?_isa} = %{version}-%{release} Requires: vtk-qt-tcl%{?_isa} = %{version}-%{release}
Requires: vtk-tcl%{?_isa} = %{version}-%{release} Requires: vtk-tcl%{?_isa} = %{version}-%{release}
%{?with_OSMesa:Requires: mesa-libOSMesa-devel%{?_isa}} %{?with_OSMesa:Requires: mesa-libOSMesa-devel%{?_isa}}
@ -164,19 +185,33 @@ Requires: freetype-devel%{?_isa}
Requires: hdf5-devel%{?_isa} Requires: hdf5-devel%{?_isa}
Requires: lapack-devel%{?_isa} Requires: lapack-devel%{?_isa}
Requires: libjpeg-devel%{?_isa} Requires: libjpeg-devel%{?_isa}
Requires: lz4-devel%{?_isa}
Requires: libpng-devel%{?_isa} Requires: libpng-devel%{?_isa}
Requires: libogg-devel%{?_isa} Requires: libogg-devel%{?_isa}
Requires: libSM-devel%{?_isa}
Requires: libtheora-devel%{?_isa} Requires: libtheora-devel%{?_isa}
Requires: libtiff-devel%{?_isa} Requires: libtiff-devel%{?_isa}
Requires: libxml2-devel%{?_isa} Requires: libxml2-devel%{?_isa}
Requires: libpq-devel%{?_isa} Requires: libpq-devel%{?_isa}
Requires: libXt-devel%{?_isa}
Requires: mysql-devel%{?_isa} Requires: mysql-devel%{?_isa}
Requires: netcdf-cxx-devel%{?_isa} Requires: netcdf-cxx-devel%{?_isa}
%if %{with qt5}
Requires: cmake(Qt5)
Requires: cmake(Qt5UiPlugin)
Requires: cmake(Qt5X11Extras)
Requires: qt5-qtwebkit-devel%{?_isa}
%else
Requires: qt4-devel%{?_isa} Requires: qt4-devel%{?_isa}
Requires: qtwebkit-devel%{?_isa} Requires: qtwebkit-devel%{?_isa}
%endif
Requires: jsoncpp-devel%{?_isa} Requires: jsoncpp-devel%{?_isa}
# bz #1183210 + #1183530 # bz #1183210 + #1183530
%if 0%{?fedora} >= 30
Requires: python%{python3_pkgversion}-devel
%else
Requires: python2-devel Requires: python2-devel
%endif
%description devel %description devel
This provides the VTK header files required to compile C++ programs that This provides the VTK header files required to compile C++ programs that
@ -189,17 +224,23 @@ Requires: vtk%{?_isa} = %{version}-%{release}
%description tcl %description tcl
tcl bindings for VTK. tcl bindings for VTK.
%if 0%{?fedora} >= 30
%package -n python%{python3_pkgversion}-vtk
Summary: Python 3 bindings for VTK
Requires: vtk%{?_isa} = %{version}-%{release}
%{?python_provide:%python_provide python%{python3_pkgversion}-vtk}
%description -n python%{python3_pkgversion}-vtk
Python 3 bindings for VTK.
%else
%package -n python2-vtk %package -n python2-vtk
Summary: Python bindings for VTK Summary: Python 2 bindings for VTK
Requires: vtk%{?_isa} = %{version}-%{release} Requires: vtk%{?_isa} = %{version}-%{release}
%{?python_provide:%python_provide python2-vtk} %{?python_provide:%python_provide python2-vtk}
# Remove before F30
Provides: %{name}-python = %{version}-%{release}
Provides: %{name}-python%{?_isa} = %{version}-%{release}
Obsoletes: %{name}-python < %{version}-%{release}
%description -n python2-vtk %description -n python2-vtk
python bindings for VTK. Python 2 bindings for VTK.
%endif
%if %{with java} %if %{with java}
%package java %package java
@ -217,17 +258,23 @@ Requires: vtk%{?_isa} = %{version}-%{release}
%description qt %description qt
Qt bindings for VTK. Qt bindings for VTK.
%if 0%{?fedora} >= 30
%package -n python%{python3_pkgversion}-vtk-qt
Summary: Qt Python 3 bindings for VTK
Requires: vtk%{?_isa} = %{version}-%{release}
%{?python_provide:%python_provide python%{python3_pkgversion}-vtk-qt}
%description -n python%{python3_pkgversion}-vtk-qt
Qt Python 3 bindings for VTK.
%else
%package -n python2-vtk-qt %package -n python2-vtk-qt
Summary: Qt Python bindings for VTK Summary: Qt Python 2 bindings for VTK
Requires: vtk%{?_isa} = %{version}-%{release} Requires: vtk%{?_isa} = %{version}-%{release}
%{?python_provide:%python_provide python2-vtk-qt} %{?python_provide:%python_provide python2-vtk-qt}
# Remove before F30
Provides: %{name}-qt-python = %{version}-%{release}
Provides: %{name}-qt-python%{?_isa} = %{version}-%{release}
Obsoletes: %{name}-qt-python < %{version}-%{release}
%description -n python2-vtk-qt %description -n python2-vtk-qt
Qt Python bindings for VTK. Qt Python 2 bindings for VTK.
%endif
%package qt-tcl %package qt-tcl
Summary: Qt TCL bindings for VTK Summary: Qt TCL bindings for VTK
@ -252,8 +299,8 @@ NOTE: The version in this package has been compiled with mpich support.
%package mpich-devel %package mpich-devel
Summary: VTK header files for building C++ code with mpich Summary: VTK header files for building C++ code with mpich
Requires: vtk-mpich%{?_isa} = %{version}-%{release} Requires: vtk-mpich%{?_isa} = %{version}-%{release}
#Requires: vtk-python%{?_isa} = %{version}-%{release} #Requires: python2-vtk%{?_isa} = %{version}-%{release}
#Requires: vtk-qt-python%{?_isa} = %{version}-%{release} #Requires: python2-vtk-qt%{?_isa} = %{version}-%{release}
#Requires: vtk-qt-tcl%{?_isa} = %{version}-%{release} #Requires: vtk-qt-tcl%{?_isa} = %{version}-%{release}
#Requires: vtk-tcl%{?_isa} = %{version}-%{release} #Requires: vtk-tcl%{?_isa} = %{version}-%{release}
%{?with_OSMesa:Requires: mesa-libOSMesa-devel%{?_isa}} %{?with_OSMesa:Requires: mesa-libOSMesa-devel%{?_isa}}
@ -277,11 +324,22 @@ Requires: libpq-devel%{?_isa}
Requires: mysql-devel%{?_isa} Requires: mysql-devel%{?_isa}
Requires: netcdf-cxx-devel%{?_isa} Requires: netcdf-cxx-devel%{?_isa}
Requires: netcdf-mpich-devel%{?_isa} Requires: netcdf-mpich-devel%{?_isa}
%if %{with qt5}
Requires: cmake(Qt5)
Requires: cmake(Qt5UiPlugin)
Requires: cmake(Qt5X11Extras)
Requires: qt5-qtwebkit-devel%{?_isa}
%else
Requires: qt4-devel%{?_isa} Requires: qt4-devel%{?_isa}
Requires: qtwebkit-devel%{?_isa} Requires: qtwebkit-devel%{?_isa}
%endif
Requires: jsoncpp-devel%{?_isa} Requires: jsoncpp-devel%{?_isa}
# bz #1183210 + #1183530 # bz #1183210 + #1183530
%if 0%{?fedora} >= 30
Requires: python%{python3_pkgversion}-devel
%else
Requires: python2-devel Requires: python2-devel
%endif
%description mpich-devel %description mpich-devel
This provides the VTK header files required to compile C++ programs that This provides the VTK header files required to compile C++ programs that
@ -296,12 +354,21 @@ Requires: vtk-mpich%{?_isa} = %{version}-%{release}
%description mpich-tcl %description mpich-tcl
tcl bindings for VTK with mpich. tcl bindings for VTK with mpich.
%package mpich-python %if 0%{?fedora} >= 30
Summary: Python bindings for VTK with mpich %package -n python%{python3_pkgversion}-vtk-mpich
Summary: Python 3 bindings for VTK with mpich
Requires: vtk-mpich%{?_isa} = %{version}-%{release} Requires: vtk-mpich%{?_isa} = %{version}-%{release}
%description mpich-python %description -n python%{python3_pkgversion}-vtk-mpich
python bindings for VTK with mpich. python 3 bindings for VTK with mpich.
%else
%package -n python2-vtk-mpich
Summary: Python 2 bindings for VTK with mpich
Requires: vtk-mpich%{?_isa} = %{version}-%{release}
%description -n python2-vtk-mpich
python 2 bindings for VTK with mpich.
%endif
%if %{with java} %if %{with java}
%package mpich-java %package mpich-java
@ -319,12 +386,21 @@ Requires: vtk-mpich%{?_isa} = %{version}-%{release}
%description mpich-qt %description mpich-qt
Qt bindings for VTK with mpich. Qt bindings for VTK with mpich.
%package mpich-qt-python %if 0%{?fedora} >= 30
Summary: Qt Python bindings for VTK with mpich %package -n python%{python3_pkgversion}-vtk-mpich-qt
Summary: Qt Python 3 bindings for VTK with mpich
Requires: vtk-mpich%{?_isa} = %{version}-%{release} Requires: vtk-mpich%{?_isa} = %{version}-%{release}
%description mpich-qt-python %description -n python%{python3_pkgversion}-vtk-mpich-qt
Qt Python bindings for VTK with mpich. Qt Python 3 bindings for VTK with mpich.
%else
%package -n python2-vtk-mpich-qt
Summary: Qt Python 2 bindings for VTK with mpich
Requires: vtk-mpich%{?_isa} = %{version}-%{release}
%description -n python2-vtk-mpich-qt
Qt Python 2 bindings for VTK with mpich.
%endif
%package mpich-qt-tcl %package mpich-qt-tcl
Summary: Qt TCL bindings for VTK with mpich Summary: Qt TCL bindings for VTK with mpich
@ -350,8 +426,8 @@ NOTE: The version in this package has been compiled with openmpi support.
%package openmpi-devel %package openmpi-devel
Summary: VTK header files for building C++ code with openmpi Summary: VTK header files for building C++ code with openmpi
Requires: vtk-openmpi%{?_isa} = %{version}-%{release} Requires: vtk-openmpi%{?_isa} = %{version}-%{release}
#Requires: vtk-python%{?_isa} = %{version}-%{release} #Requires: python2-vtk%{?_isa} = %{version}-%{release}
#Requires: vtk-qt-python%{?_isa} = %{version}-%{release} #Requires: python2-vtk-qt%{?_isa} = %{version}-%{release}
#Requires: vtk-qt-tcl%{?_isa} = %{version}-%{release} #Requires: vtk-qt-tcl%{?_isa} = %{version}-%{release}
#Requires: vtk-tcl%{?_isa} = %{version}-%{release} #Requires: vtk-tcl%{?_isa} = %{version}-%{release}
%{?with_OSMesa:Requires: mesa-libOSMesa-devel%{?_isa}} %{?with_OSMesa:Requires: mesa-libOSMesa-devel%{?_isa}}
@ -375,11 +451,22 @@ Requires: libpq-devel%{?_isa}
Requires: mysql-devel%{?_isa} Requires: mysql-devel%{?_isa}
Requires: netcdf-cxx-devel%{?_isa} Requires: netcdf-cxx-devel%{?_isa}
Requires: netcdf-openmpi-devel%{?_isa} Requires: netcdf-openmpi-devel%{?_isa}
%if %{with qt5}
Requires: cmake(Qt5)
Requires: cmake(Qt5UiPlugin)
Requires: cmake(Qt5X11Extras)
Requires: qt5-qtwebkit-devel%{?_isa}
%else
Requires: qt4-devel%{?_isa} Requires: qt4-devel%{?_isa}
Requires: qtwebkit-devel%{?_isa} Requires: qtwebkit-devel%{?_isa}
%endif
Requires: jsoncpp-devel%{?_isa} Requires: jsoncpp-devel%{?_isa}
# bz #1183210 + #1183530 # bz #1183210 + #1183530
%if 0%{?fedora} >= 30
Requires: python%{python3_pkgversion}-devel
%else
Requires: python2-devel Requires: python2-devel
%endif
%description openmpi-devel %description openmpi-devel
This provides the VTK header files required to compile C++ programs that This provides the VTK header files required to compile C++ programs that
@ -394,12 +481,21 @@ Requires: vtk-openmpi%{?_isa} = %{version}-%{release}
%description openmpi-tcl %description openmpi-tcl
tcl bindings for VTK with openmpi. tcl bindings for VTK with openmpi.
%package openmpi-python %if 0%{?fedora} >= 30
Summary: Python bindings for VTK with openmpi %package -n python%{python3_pkgversion}-vtk-openmpi
Summary: Python 3 bindings for VTK with openmpi
Requires: vtk-openmpi%{?_isa} = %{version}-%{release} Requires: vtk-openmpi%{?_isa} = %{version}-%{release}
%description openmpi-python %description -n python%{python3_pkgversion}-vtk-openmpi
python bindings for VTK with openmpi. Python 3 bindings for VTK with openmpi.
%else
%package -n python2-vtk-openmpi
Summary: Python 2 bindings for VTK with openmpi
Requires: vtk-openmpi%{?_isa} = %{version}-%{release}
%description -n python2-vtk-openmpi
Python 2 bindings for VTK with openmpi.
%endif
%if %{with java} %if %{with java}
%package openmpi-java %package openmpi-java
@ -417,12 +513,21 @@ Requires: vtk-openmpi%{?_isa} = %{version}-%{release}
%description openmpi-qt %description openmpi-qt
Qt bindings for VTK with openmpi. Qt bindings for VTK with openmpi.
%package openmpi-qt-python %if 0%{?fedora} >= 30
Summary: Qt Python bindings for VTK with openmpi %package -n python%{python3_pkgversion}-vtk-openmpi-qt
Summary: Qt Python 3 bindings for VTK with openmpi
Requires: vtk-openmpi%{?_isa} = %{version}-%{release} Requires: vtk-openmpi%{?_isa} = %{version}-%{release}
%description openmpi-qt-python %description -n python%{python3_pkgversion}-vtk-openmpi-qt
Qt Python bindings for VTK with openmpi. Qt Python 3 bindings for VTK with openmpi.
%else
%package -n python2-vtk-openmpi-qt
Summary: Qt Python 2 bindings for VTK with openmpi
Requires: vtk-openmpi%{?_isa} = %{version}-%{release}
%description -n python2-vtk-openmpi-qt
Qt Python 2 bindings for VTK with openmpi.
%endif
%package openmpi-qt-tcl %package openmpi-qt-tcl
Summary: Qt TCL bindings for VTK with openmpi Summary: Qt TCL bindings for VTK with openmpi
@ -459,7 +564,7 @@ programming languages.
%prep %prep
%setup -q -b 1 -n VTK-%{version} %setup -q -b 1 -n VTK-%{version}
%patch0 -p1 -b .format %patch0 -p1 -b .py37
%patch5 -p1 -b .tcllib %patch5 -p1 -b .tcllib
# Remove included thirdparty sources just to be sure # Remove included thirdparty sources just to be sure
# TODO - alglib - http://www.vtk.org/Bug/view.php?id=15729 # TODO - alglib - http://www.vtk.org/Bug/view.php?id=15729
@ -470,7 +575,7 @@ programming languages.
# TODO - VPIC - not yet packaged # TODO - VPIC - not yet packaged
# TODO - vtkxdmf2 - not yet packaged # TODO - vtkxdmf2 - not yet packaged
# TODO - vtkxdmf3 - not yet packaged # TODO - vtkxdmf3 - not yet packaged
for x in autobahn %{?_with_gl2ps:vtkgl2ps} vtkexpat vtkfreetype vtkhdf5 vtkjpeg vtkjsoncpp vtklibxml2 vtkmpi4py vtknetcdf vtkoggtheora vtkpng vtktiff twisted vtkzlib zope for x in vtk{Autobahn%{?_with_gl2ps:,gl2ps},expat,freetype,hdf5,jpeg,jsoncpp,libxml2,lz4,mpi4py,netcdf,oggtheora,png,tiff,Twisted,zlib,ZopeInterface}
do do
rm -r ThirdParty/*/${x} rm -r ThirdParty/*/${x}
done done
@ -503,7 +608,13 @@ export JAVA_TOOL_OPTIONS=-Xmx2048m
-DVTK_INSTALL_INCLUDE_DIR:PATH=include/vtk \\\ -DVTK_INSTALL_INCLUDE_DIR:PATH=include/vtk \\\
-DVTK_INSTALL_LIBRARY_DIR:PATH=%{_lib}/vtk \\\ -DVTK_INSTALL_LIBRARY_DIR:PATH=%{_lib}/vtk \\\
-DVTK_INSTALL_PACKAGE_DIR:PATH=%{_lib}/cmake/vtk \\\ -DVTK_INSTALL_PACKAGE_DIR:PATH=%{_lib}/cmake/vtk \\\
%if 0%{?fedora} >= 30 \
-DVTK_PYTHON_VERSION=3 \\\
-DVTK_INSTALL_PYTHON_MODULE_DIR:PATH=%{_lib}/python%{python3_version}/site-packages \\\
%else \
-DVTK_PYTHON_VERSION=2 \\\
-DVTK_INSTALL_PYTHON_MODULE_DIR:PATH=%{_lib}/python%{python2_version}/site-packages \\\ -DVTK_INSTALL_PYTHON_MODULE_DIR:PATH=%{_lib}/python%{python2_version}/site-packages \\\
%endif \
%if %{with qt5} \ %if %{with qt5} \
-DVTK_INSTALL_QT_DIR:PATH=%{_lib}/qt5/plugins/designer \\\ -DVTK_INSTALL_QT_DIR:PATH=%{_lib}/qt5/plugins/designer \\\
%else \ %else \
@ -524,7 +635,11 @@ export JAVA_TOOL_OPTIONS=-Xmx2048m
%endif \ %endif \
-DVTK_WRAP_PYTHON:BOOL=ON \\\ -DVTK_WRAP_PYTHON:BOOL=ON \\\
-DVTK_WRAP_PYTHON_SIP:BOOL=ON \\\ -DVTK_WRAP_PYTHON_SIP:BOOL=ON \\\
%if 0%{?fedora} >= 30 \
-DSIP_INCLUDE_DIR:PATH=/usr/include/python%{python3_version} \\\
%else \
-DSIP_INCLUDE_DIR:PATH=/usr/include/python%{python2_version} \\\ -DSIP_INCLUDE_DIR:PATH=/usr/include/python%{python2_version} \\\
%endif \
-DVTK_WRAP_TCL:BOOL=ON \\\ -DVTK_WRAP_TCL:BOOL=ON \\\
-DVTK_Group_Imaging:BOOL=ON \\\ -DVTK_Group_Imaging:BOOL=ON \\\
-DVTK_Group_Qt:BOOL=ON \\\ -DVTK_Group_Qt:BOOL=ON \\\
@ -532,7 +647,6 @@ export JAVA_TOOL_OPTIONS=-Xmx2048m
-DVTK_Group_StandAlone:BOOL=ON \\\ -DVTK_Group_StandAlone:BOOL=ON \\\
-DVTK_Group_Tk:BOOL=ON \\\ -DVTK_Group_Tk:BOOL=ON \\\
-DVTK_Group_Views:BOOL=ON \\\ -DVTK_Group_Views:BOOL=ON \\\
-DModule_vtkFiltersStatisticsGnuR:BOOL=ON \\\
-DModule_vtkIOExportOpenGL2:BOOL=ON \\\ -DModule_vtkIOExportOpenGL2:BOOL=ON \\\
-DModule_vtkIOMySQL:BOOL=ON \\\ -DModule_vtkIOMySQL:BOOL=ON \\\
-DModule_vtkIOPostgreSQL:BOOL=ON \\\ -DModule_vtkIOPostgreSQL:BOOL=ON \\\
@ -544,9 +658,9 @@ export JAVA_TOOL_OPTIONS=-Xmx2048m
%endif \ %endif \
-DVTK_USE_OGGTHEORA_ENCODER=ON \\\ -DVTK_USE_OGGTHEORA_ENCODER=ON \\\
-DVTK_USE_SYSTEM_LIBRARIES=ON \\\ -DVTK_USE_SYSTEM_LIBRARIES=ON \\\
-DVTK_USE_SYSTEM_DIY2:BOOL=OFF \\\
%{?vtk_use_system_gl2ps} \\\ %{?vtk_use_system_gl2ps} \\\
-DVTK_USE_SYSTEM_HDF5:BOOL=ON \\\ -DVTK_USE_SYSTEM_HDF5:BOOL=ON \\\
-DVTK_USE_SYSTEM_LIBHARU=OFF \\\
-DVTK_USE_SYSTEM_LIBPROJ4:BOOL=OFF \\\ -DVTK_USE_SYSTEM_LIBPROJ4:BOOL=OFF \\\
-DVTK_USE_SYSTEM_NETCDF:BOOL=ON -DVTK_USE_SYSTEM_NETCDF:BOOL=ON
# Commented old flags in case we'd like to reactive some of them # Commented old flags in case we'd like to reactive some of them
@ -559,7 +673,8 @@ pushd build
-DBUILD_DOCUMENTATION:BOOL=ON \ -DBUILD_DOCUMENTATION:BOOL=ON \
-DBUILD_EXAMPLES:BOOL=ON \ -DBUILD_EXAMPLES:BOOL=ON \
-DBUILD_TESTING:BOOL=ON -DBUILD_TESTING:BOOL=ON
make %{?_smp_mflags} %make_build
%make_build DoxygenDoc vtkMyDoxygenDoc
popd popd
%if %{with mpich} %if %{with mpich}
@ -575,7 +690,11 @@ export CXX=mpic++
-DVTK_INSTALL_ARCHIVE_DIR:PATH=lib \ -DVTK_INSTALL_ARCHIVE_DIR:PATH=lib \
-DVTK_INSTALL_LIBRARY_DIR:PATH=lib \ -DVTK_INSTALL_LIBRARY_DIR:PATH=lib \
-DVTK_INSTALL_PACKAGE_DIR:PATH=lib/cmake \ -DVTK_INSTALL_PACKAGE_DIR:PATH=lib/cmake \
%if 0%{?fedora} >= 30
-DVTK_INSTALL_PYTHON_MODULE_DIR:PATH=lib/python%{python3_version}/site-packages \
%else
-DVTK_INSTALL_PYTHON_MODULE_DIR:PATH=lib/python%{python2_version}/site-packages \ -DVTK_INSTALL_PYTHON_MODULE_DIR:PATH=lib/python%{python2_version}/site-packages \
%endif
%if %{with qt5} %if %{with qt5}
-DVTK_INSTALL_QT_DIR:PATH=lib/qt5/plugins/designer \ -DVTK_INSTALL_QT_DIR:PATH=lib/qt5/plugins/designer \
%else %else
@ -584,8 +703,9 @@ export CXX=mpic++
-DVTK_Group_MPI:BOOL=ON \ -DVTK_Group_MPI:BOOL=ON \
-DModule_vtkRenderingParallel:BOOL=ON \ -DModule_vtkRenderingParallel:BOOL=ON \
-DVTK_USE_PARALLEL:BOOL=ON \ -DVTK_USE_PARALLEL:BOOL=ON \
-DVTK_USE_SYSTEM_DIY2:BOOL=OFF \
-DVTK_USE_SYSTEM_MPI4PY:BOOL=ON -DVTK_USE_SYSTEM_MPI4PY:BOOL=ON
make %{?_smp_mflags} %make_build
%_mpich_unload %_mpich_unload
popd popd
%endif %endif
@ -603,7 +723,11 @@ export CXX=mpic++
-DVTK_INSTALL_ARCHIVE_DIR:PATH=lib \ -DVTK_INSTALL_ARCHIVE_DIR:PATH=lib \
-DVTK_INSTALL_LIBRARY_DIR:PATH=lib \ -DVTK_INSTALL_LIBRARY_DIR:PATH=lib \
-DVTK_INSTALL_PACKAGE_DIR:PATH=lib/cmake \ -DVTK_INSTALL_PACKAGE_DIR:PATH=lib/cmake \
%if 0%{?fedora} >= 30
-DVTK_INSTALL_PYTHON_MODULE_DIR:PATH=lib/python%{python3_version}/site-packages \
%else
-DVTK_INSTALL_PYTHON_MODULE_DIR:PATH=lib/python%{python2_version}/site-packages \ -DVTK_INSTALL_PYTHON_MODULE_DIR:PATH=lib/python%{python2_version}/site-packages \
%endif
%if %{with qt5} %if %{with qt5}
-DVTK_INSTALL_QT_DIR:PATH=lib/qt5/plugins/designer \ -DVTK_INSTALL_QT_DIR:PATH=lib/qt5/plugins/designer \
%else %else
@ -612,8 +736,9 @@ export CXX=mpic++
-DVTK_Group_MPI:BOOL=ON \ -DVTK_Group_MPI:BOOL=ON \
-DModule_vtkRenderingParallel:BOOL=ON \ -DModule_vtkRenderingParallel:BOOL=ON \
-DVTK_USE_PARALLEL:BOOL=ON \ -DVTK_USE_PARALLEL:BOOL=ON \
-DVTK_USE_SYSTEM_DIY2:BOOL=OFF \
-DVTK_USE_SYSTEM_MPI4PY:BOOL=ON -DVTK_USE_SYSTEM_MPI4PY:BOOL=ON
make %{?_smp_mflags} %make_build
%_openmpi_unload %_openmpi_unload
popd popd
%endif %endif
@ -629,7 +754,7 @@ pushd build
# Gather list of non-python/tcl libraries # Gather list of non-python/tcl libraries
ls %{buildroot}%{_libdir}/vtk/*.so.* \ ls %{buildroot}%{_libdir}/vtk/*.so.* \
| grep -Ev '(Java|Qt|Python27D|TCL)' | sed -e's,^%{buildroot},,' > libs.list | grep -Ev '(Java|Qt|Python..D|TCL)' | sed -e's,^%{buildroot},,' > libs.list
# List of executable examples # List of executable examples
cat > examples.list << EOF cat > examples.list << EOF
@ -689,7 +814,7 @@ pushd build-mpich
# Gather list of non-python/tcl libraries # Gather list of non-python/tcl libraries
ls %{buildroot}%{_libdir}/mpich/lib/*.so.* \ ls %{buildroot}%{_libdir}/mpich/lib/*.so.* \
| grep -Ev '(Java|Qt|Python27D|TCL)' | sed -e's,^%{buildroot},,' > libs.list | grep -Ev '(Java|Qt|Python..D|TCL)' | sed -e's,^%{buildroot},,' > libs.list
popd popd
%_mpich_unload %_mpich_unload
%endif %endif
@ -701,7 +826,7 @@ pushd build-openmpi
# Gather list of non-python/tcl libraries # Gather list of non-python/tcl libraries
ls %{buildroot}%{_libdir}/openmpi/lib/*.so.* \ ls %{buildroot}%{_libdir}/openmpi/lib/*.so.* \
| grep -Ev '(Java|Qt|Python27D|TCL)' | sed -e's,^%{buildroot},,' > libs.list | grep -Ev '(Java|Qt|Python..D|TCL)' | sed -e's,^%{buildroot},,' > libs.list
%_openmpi_unload %_openmpi_unload
popd popd
%endif %endif
@ -744,36 +869,16 @@ ctest %{_smp_mflags} -V || :
kill %1 || : kill %1 || :
cat xorg.log cat xorg.log
%post -p /sbin/ldconfig %if 0%{?fedora} < 28
%ldconfig_scriptlets
%postun -p /sbin/ldconfig %ldconfig_scriptlets java
%ldconfig_scriptlets python2-vtk
%post tcl -p /sbin/ldconfig %ldconfig_scriptlets python2-vtk-qt
%ldconfig_scriptlets qt
%postun tcl -p /sbin/ldconfig %ldconfig_scriptlets qt-tcl
%ldconfig_scriptlets tcl
%post -n python2-vtk -p /sbin/ldconfig
%postun -n python2-vtk -p /sbin/ldconfig
%if %{with java}
%post java -p /sbin/ldconfig
%postun java -p /sbin/ldconfig
%endif %endif
%post qt -p /sbin/ldconfig
%postun qt -p /sbin/ldconfig
%post -n python2-vtk-qt -p /sbin/ldconfig
%postun -n python2-vtk-qt -p /sbin/ldconfig
%post qt-tcl -p /sbin/ldconfig
%postun qt-tcl -p /sbin/ldconfig
%files -f build/libs.list %files -f build/libs.list
%license Copyright.txt %license Copyright.txt
%doc README.md vtkLogo.jpg vtkBanner.gif _docs/Wrapping %doc README.md vtkLogo.jpg vtkBanner.gif _docs/Wrapping
@ -789,7 +894,7 @@ cat xorg.log
%{_libdir}/vtk/*.so %{_libdir}/vtk/*.so
%{_libdir}/vtk/libvtkWrappingTools.a %{_libdir}/vtk/libvtkWrappingTools.a
%{_libdir}/cmake/vtk/ %{_libdir}/cmake/vtk/
%{_docdir}/vtk-7.1/ %{_docdir}/vtk-8.1/
%{tcl_sitelib}/vtk/vtktcl.c %{tcl_sitelib}/vtk/vtktcl.c
%files tcl %files tcl
@ -801,10 +906,17 @@ cat xorg.log
%{tcl_sitelib}/vtk/ %{tcl_sitelib}/vtk/
%exclude %{tcl_sitelib}/vtk/vtktcl.c %exclude %{tcl_sitelib}/vtk/vtktcl.c
%if 0%{?fedora} >= 30
%files -n python%{python3_pkgversion}-vtk
%{python3_sitearch}/*
%{_libdir}/vtk/*Python3?D.so.*
%exclude %{_libdir}/vtk/*QtPython3?D.so.*
%else
%files -n python2-vtk %files -n python2-vtk
%{python2_sitearch}/* %{python2_sitearch}/*
%{_libdir}/vtk/*Python27D.so.* %{_libdir}/vtk/*Python27D.so.*
%exclude %{_libdir}/vtk/*QtPython27D.so.* %exclude %{_libdir}/vtk/*QtPython27D.so.*
%endif
%{_bindir}/vtkpython %{_bindir}/vtkpython
%{_bindir}/vtkWrapPython %{_bindir}/vtkWrapPython
%{_bindir}/vtkWrapPythonInit %{_bindir}/vtkWrapPythonInit
@ -820,11 +932,16 @@ cat xorg.log
%files qt %files qt
%{_libdir}/vtk/lib*Qt*.so.* %{_libdir}/vtk/lib*Qt*.so.*
%exclude %{_libdir}/vtk/*TCL.so.* %exclude %{_libdir}/vtk/*TCL.so.*
%exclude %{_libdir}/vtk/*Python27D.so.* %exclude %{_libdir}/vtk/*Python??D.so.*
%{_libdir}/qt?/plugins/designer/libQVTKWidgetPlugin.so %{_libdir}/qt?/plugins/designer/libQVTKWidgetPlugin.so
%if 0%{?fedora} >= 30
%files -n python%{python3_pkgversion}-vtk-qt
%{_libdir}/vtk/*QtPython3?D.so.*
%else
%files -n python2-vtk-qt %files -n python2-vtk-qt
%{_libdir}/vtk/*QtPython27D.so.* %{_libdir}/vtk/*QtPython27D.so.*
%endif
%files qt-tcl %files qt-tcl
%{_libdir}/vtk/*QtTCL.so.* %{_libdir}/vtk/*QtTCL.so.*
@ -842,7 +959,7 @@ cat xorg.log
%{_libdir}/mpich/lib/*.so %{_libdir}/mpich/lib/*.so
%{_libdir}/mpich/lib/libvtkWrappingTools.a %{_libdir}/mpich/lib/libvtkWrappingTools.a
%{_libdir}/mpich/lib/cmake/ %{_libdir}/mpich/lib/cmake/
%{_libdir}/mpich/share/doc/vtk-7.1/ %{_libdir}/mpich/share/doc/vtk-8.1/
%{_libdir}/mpich/share/tcl%{tcl_version}/vtk/vtktcl.c %{_libdir}/mpich/share/tcl%{tcl_version}/vtk/vtktcl.c
%files mpich-tcl %files mpich-tcl
@ -855,10 +972,16 @@ cat xorg.log
%{_libdir}/mpich/share/tcl%{tcl_version}/ %{_libdir}/mpich/share/tcl%{tcl_version}/
%exclude %{_libdir}/mpich/share/tcl%{tcl_version}/vtk/vtktcl.c %exclude %{_libdir}/mpich/share/tcl%{tcl_version}/vtk/vtktcl.c
%files mpich-python %if 0%{?fedora} >= 30
%files -n python%{python3_pkgversion}-vtk-mpich
%{_libdir}/mpich/lib/python%{python3_version}/
%{_libdir}/mpich/lib/*Python3?D.so.*
%else
%files -n python2-vtk-mpich
%{_libdir}/mpich/lib/python%{python2_version}/ %{_libdir}/mpich/lib/python%{python2_version}/
%{_libdir}/mpich/lib/*Python27D.so.* %{_libdir}/mpich/lib/*Python27D.so.*
%exclude %{_libdir}/mpich/lib/*QtPython27D.so.* %endif
%exclude %{_libdir}/mpich/lib/*QtPython??D.so.*
%{_libdir}/mpich/bin/pvtkpython %{_libdir}/mpich/bin/pvtkpython
%{_libdir}/mpich/bin/vtkpython %{_libdir}/mpich/bin/vtkpython
%{_libdir}/mpich/bin/vtkWrapPython %{_libdir}/mpich/bin/vtkWrapPython
@ -875,11 +998,16 @@ cat xorg.log
%files mpich-qt %files mpich-qt
%{_libdir}/mpich/lib/lib*Qt*.so.* %{_libdir}/mpich/lib/lib*Qt*.so.*
%exclude %{_libdir}/mpich/lib/*TCL.so.* %exclude %{_libdir}/mpich/lib/*TCL.so.*
%exclude %{_libdir}/mpich/lib/*Python27D.so.* %exclude %{_libdir}/mpich/lib/*Python??D.so.*
%{_libdir}/mpich/lib/qt?/ %{_libdir}/mpich/lib/qt?/
%files mpich-qt-python %if 0%{fedora} >= 30
%files -n python%{python3_pkgversion}-vtk-mpich-qt
%{_libdir}/mpich/lib/*QtPython3?D.so.*
%else
%files -n python2-vtk-mpich-qt
%{_libdir}/mpich/lib/*QtPython27D.so.* %{_libdir}/mpich/lib/*QtPython27D.so.*
%endif
%files mpich-qt-tcl %files mpich-qt-tcl
%{_libdir}/mpich/lib/*QtTCL.so.* %{_libdir}/mpich/lib/*QtTCL.so.*
@ -898,7 +1026,7 @@ cat xorg.log
%{_libdir}/openmpi/lib/*.so %{_libdir}/openmpi/lib/*.so
%{_libdir}/openmpi/lib/libvtkWrappingTools.a %{_libdir}/openmpi/lib/libvtkWrappingTools.a
%{_libdir}/openmpi/lib/cmake/ %{_libdir}/openmpi/lib/cmake/
%{_libdir}/openmpi/share/doc/vtk-7.1/ %{_libdir}/openmpi/share/doc/vtk-8.1/
%{_libdir}/openmpi/share/tcl%{tcl_version}/vtk/vtktcl.c %{_libdir}/openmpi/share/tcl%{tcl_version}/vtk/vtktcl.c
%files openmpi-tcl %files openmpi-tcl
@ -911,10 +1039,16 @@ cat xorg.log
%{_libdir}/openmpi/share/tcl%{tcl_version}/ %{_libdir}/openmpi/share/tcl%{tcl_version}/
%exclude %{_libdir}/openmpi/share/tcl%{tcl_version}/vtk/vtktcl.c %exclude %{_libdir}/openmpi/share/tcl%{tcl_version}/vtk/vtktcl.c
%files openmpi-python %if 0%{fedora} >= 30
%files -n python%{python3_pkgversion}-vtk-openmpi
%{_libdir}/openmpi/lib/python%{python3_version}/
%{_libdir}/openmpi/lib/*Python3?D.so.*
%else
%files -n python2-vtk-openmpi
%{_libdir}/openmpi/lib/python%{python2_version}/ %{_libdir}/openmpi/lib/python%{python2_version}/
%{_libdir}/openmpi/lib/*Python27D.so.* %{_libdir}/openmpi/lib/*Python27D.so.*
%exclude %{_libdir}/openmpi/lib/*QtPython27D.so.* %endif
%exclude %{_libdir}/openmpi/lib/*QtPython??D.so.*
%{_libdir}/openmpi/bin/pvtkpython %{_libdir}/openmpi/bin/pvtkpython
%{_libdir}/openmpi/bin/vtkpython %{_libdir}/openmpi/bin/vtkpython
%{_libdir}/openmpi/bin/vtkWrapPython %{_libdir}/openmpi/bin/vtkWrapPython
@ -934,8 +1068,13 @@ cat xorg.log
%exclude %{_libdir}/openmpi/lib/*Python27D.so.* %exclude %{_libdir}/openmpi/lib/*Python27D.so.*
%{_libdir}/openmpi/lib/qt?/ %{_libdir}/openmpi/lib/qt?/
%files openmpi-qt-python %if 0%{fedora} >= 30
%files -n python%{python3_pkgversion}-vtk-openmpi-qt
%{_libdir}/openmpi/lib/*QtPython3?D.so.*
%else
%files -n python2-vtk-openmpi-qt
%{_libdir}/openmpi/lib/*QtPython27D.so.* %{_libdir}/openmpi/lib/*QtPython27D.so.*
%endif
%files openmpi-qt-tcl %files openmpi-qt-tcl
%{_libdir}/openmpi/lib/*QtTCL.so.* %{_libdir}/openmpi/lib/*QtTCL.so.*
@ -951,6 +1090,11 @@ cat xorg.log
%changelog %changelog
* Fri Oct 26 2018 Orion Poplawski <orion@cora.nwra.com> - 8.1.1-1
- Update to 8.1.1 (bug #1460059)
- Use Qt 5 (bug #1319504)
- Use Python 3 for Fedora 30+ (bug #1549034)
* Thu Sep 06 2018 Pavel Raiskup <praiskup@redhat.com> - 7.1.1-13 * Thu Sep 06 2018 Pavel Raiskup <praiskup@redhat.com> - 7.1.1-13
- rebuild against libpq (rhbz#1618698, rhbz#1623764) - rebuild against libpq (rhbz#1618698, rhbz#1623764)