Compare commits

...

9 Commits

Author SHA1 Message Date
Björn Esser 79c5bd8348
Rebuild (jsoncpp) 2019-07-03 13:30:35 +02:00
Orion Poplawski f46de28d6a Provide starndard python 3.Y dist name (bugz#1700307) 2019-04-18 17:37:47 -06:00
Orion Poplawski 43f44a45a6 Provide standard python 3 dist name (bugz#1700307) 2019-04-16 19:30:26 -06:00
Orion Poplawski bce6413e7a Update to 8.2.0
TCL wrapping has been dropped upstream
Build with system glew
2019-03-16 09:02:31 -06:00
Orion Poplawski ac996192fd Update to 8.2.0 2019-02-23 09:12:39 -07:00
Orion Poplawski da7173c6de Rebuild for openmpi 3.1.3 2019-02-15 08:06:48 -07:00
Fedora Release Engineering ff465380c5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-03 11:28:48 +00:00
Miro Hrončok c3d0dd10ec https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_2 2018-11-15 12:53:57 +01:00
Orion Poplawski 1a2f805dad Update to 8.1.1
Use Qt 5
Use Python 3
2018-10-26 19:35:12 -06:00
5 changed files with 403 additions and 233 deletions

4
.gitignore vendored
View File

@ -13,3 +13,7 @@ vtk-5.6.0.tar.gz
/VTKData-7.1.0.tar.gz
/VTK-7.1.1.tar.gz
/VTKData-7.1.1.tar.gz
/VTK-8.1.1.tar.gz
/VTKData-8.1.1.tar.gz
/VTK-8.2.0.tar.gz
/VTKData-8.2.0.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

66
FindPEGTL.cmake Normal file
View File

@ -0,0 +1,66 @@
# - Try to find PEGTL lib
#
# This module supports requiring a minimum version, e.g. you can do
# find_package(PEGTL 3.1.2)
# to require version 3.1.2 or newer of PEGTL.
#
# Once done this will define
#
# PEGTL_FOUND - system has eigen lib with correct version
# PEGTL_INCLUDE_DIR - the eigen include directory
# PEGTL_VERSION - eigen version
# Copyright (c) 2006, 2007 Montel Laurent, <montel@kde.org>
# Copyright (c) 2008, 2009 Gael Guennebaud, <g.gael@free.fr>
# Copyright (c) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
# Redistribution and use is allowed according to the terms of the 2-clause BSD license.
if(NOT PEGTL_FIND_VERSION)
if(NOT PEGTL_FIND_VERSION_MAJOR)
set(PEGTL_FIND_VERSION_MAJOR 2)
endif()
if(NOT PEGTL_FIND_VERSION_MINOR)
set(PEGTL_FIND_VERSION_MINOR 4)
endif()
if(NOT PEGTL_FIND_VERSION_PATCH)
set(PEGTL_FIND_VERSION_PATCH 0)
endif()
set(PEGTL_FIND_VERSION "${PEGTL_FIND_VERSION_MAJOR}.${PEGTL_FIND_VERSION_MINOR}.${PEGTL_FIND_VERSION_PATCH}")
endif()
macro(_pegtl_check_version)
file(READ "${PEGTL_INCLUDE_DIR}/tao/pegtl/version.hpp" _pegtl_version_header)
string(REGEX MATCH "define[ \t]+TAO_PEGTL_VERSION[ \t]+\"([0-9.]+)\"" _pegtl_version_match "${_pegtl_version_header}")
set(PEGTL_VERSION ${CMAKE_MATCH_1})
if(${PEGTL_VERSION} VERSION_LESS ${PEGTL_FIND_VERSION})
set(PEGTL_VERSION_OK FALSE)
else()
set(PEGTL_VERSION_OK TRUE)
endif()
if(NOT PEGTL_VERSION_OK)
message(STATUS "PEGTL version ${PEGTL_VERSION} found in ${PEGTL_INCLUDE_DIR}, "
"but at least version ${PEGTL_FIND_VERSION} is required")
endif()
endmacro()
if (PEGTL_INCLUDE_DIR)
# in cache already
_pegtl_check_version()
set(PEGTL_FOUND ${PEGTL_VERSION_OK})
else ()
find_path(PEGTL_INCLUDE_DIR NAMES tao
PATHS
${CMAKE_INSTALL_PREFIX}/include
)
if(PEGTL_INCLUDE_DIR)
_pegtl_check_version()
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(PEGTL DEFAULT_MSG PEGTL_INCLUDE_DIR PEGTL_VERSION_OK)
mark_as_advanced(PEGTL_INCLUDE_DIR)
endif()

View File

@ -1,2 +1,2 @@
SHA512 (VTK-7.1.1.tar.gz) = 34a068801fe45f98325e5334d2569fc9b15ed38620386f1b5b860c9735e5fb8510953b50a3340d3ef9795e22fecf798c25bf750215b2ff1ff1eb7a1ecd87b623
SHA512 (VTKData-7.1.1.tar.gz) = 9fb2d10ee87d4aaa57aa31941ba2753d844658fb39fe84808500690ca4f74b87fdd68a31f4680789b7e57bb1edd3de9163ca533e54a7121348de7eac6165b988
SHA512 (VTK-8.2.0.tar.gz) = 521bd4dabedbc24b0e80a314a34ecd7554b04af28a7973245e3a9cf99a09b995d1b8ac42305c8e53369f226a0a6da3cdb29105ba2c90b46492736ef717760286
SHA512 (VTKData-8.2.0.tar.gz) = 517d0f6dfdb0c61f59df933f06d3a28c8a48ea684aaff311456213fe493e2a20128886144325fc4edfa376b2d375a2dae6c60ad6e3d5d2f4a7b0ac1d8545c87b

522
vtk.spec
View File

@ -1,9 +1,12 @@
# This package depends on automagic byte compilation
# https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_2
%global _python_bytecompile_extra 1
# Disable OSMesa builds for now - see Bug 744434
%bcond_without OSMesa
%bcond_without java
%bcond_without mpich
# Need to coordinate with other qt users first
%bcond_with qt5
%bcond_without qt5
%bcond_without openmpi
# VTK currently is carrying local modifications to gl2ps
%bcond_with gl2ps
@ -11,25 +14,20 @@
%global vtk_use_system_gl2ps -DVTK_USE_SYSTEM_GL2PS:BOOL=OFF
%endif
%{!?tcl_version: %global tcl_version %(echo 'puts $tcl_version' | tclsh)}
%{!?tcl_sitelib: %global tcl_sitelib %{_datadir}/tcl%{tcl_version}}
Summary: The Visualization Toolkit - A high level 3D visualization library
Name: vtk
Version: 7.1.1
Release: 13%{?dist}
Version: 8.2.0
Release: 4%{?dist}
# This is a variant BSD license, a cross between BSD and ZLIB.
# For all intents, it has the same rights and restrictions as BSD.
# http://fedoraproject.org/wiki/Licensing/BSD#VTKBSDVariant
License: BSD
Source0: http://www.vtk.org/files/release/7.1/VTK-%{version}.tar.gz
Source1: http://www.vtk.org/files/release/7.1/VTKData-%{version}.tar.gz
Source0: http://www.vtk.org/files/release/8.2/VTK-%{version}.tar.gz
Source1: http://www.vtk.org/files/release/8.2/VTKData-%{version}.tar.gz
Source2: xorg.conf
# Also set -Wno-format-security when setting -Wno-format
Patch0: vtk-format.patch
# Fix tcl library loading
# http://www.vtk.org/Bug/view.php?id=15279
Patch5: vtk-tcllib.patch
Source3: FindPEGTL.cmake
# Python 3.7 compat
Patch0: https://gitlab.kitware.com/vtk/vtk/merge_requests/4490.patch
URL: http://vtk.org/
@ -40,7 +38,11 @@ BuildRequires: libX11-devel, libXt-devel, libXext-devel
BuildRequires: libICE-devel, libGL-devel
%{?with_OSMesa:BuildRequires: mesa-libOSMesa-devel}
BuildRequires: tk-devel, tcl-devel
%if 0%{?fedora} >= 30
BuildRequires: python%{python3_pkgversion}-devel
%else
BuildRequires: python2-devel
%endif
BuildRequires: expat-devel, freetype-devel, libjpeg-devel, libpng-devel
%if 0%{with gl2ps}
BuildRequires: gl2ps-devel
@ -52,7 +54,11 @@ BuildRequires: cmake(Qt5)
BuildRequires: cmake(Qt5UiPlugin)
BuildRequires: cmake(Qt5X11Extras)
BuildRequires: qt5-qtwebkit-devel
%if 0%{?fedora} >= 30
BuildRequires: python%{python3_pkgversion}-qt5
%else
BuildRequires: python-qt5
%endif
%else
BuildRequires: PyQt4-devel
BuildRequires: qt4-devel
@ -62,6 +68,9 @@ BuildRequires: chrpath
BuildRequires: doxygen, graphviz
BuildRequires: gnuplot
BuildRequires: boost-devel
BuildRequires: double-conversion-devel
BuildRequires: eigen3-devel
BuildRequires: glew-devel
BuildRequires: hdf5-devel
BuildRequires: jsoncpp-devel
BuildRequires: libtheora-devel
@ -72,6 +81,9 @@ BuildRequires: mysql-devel
%endif
BuildRequires: netcdf-cxx-devel
BuildRequires: libpq-devel
BuildRequires: PEGTL-devel
BuildRequires: proj-devel
BuildRequires: pugixml-devel
BuildRequires: R-devel
BuildRequires: sip-devel
BuildRequires: sqlite-devel
@ -79,14 +91,25 @@ BuildRequires: wget
BuildRequires: %{_includedir}/Xm
BuildRequires: blas-devel
BuildRequires: lapack-devel
# Requires patched libharu https://github.com/libharu/libharu/pull/157
#BuildRequires: libharu-devel
BuildRequires: lz4-devel
%if %{with mpich}
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
%endif
%if %{with openmpi}
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
%endif
# For %check
@ -112,24 +135,23 @@ Provides: bundled(kwsys-system)
Provides: bundled(kwsys-systeminformation)
Provides: bundled(kwsys-systemtools)
# Other bundled libraries
Provides: bundled(alglib)
Provides: bundled(exodusII) = 2.0.0
Provides: bundled(diy2)
Provides: bundled(exodusII) = 2.0.0
Provides: bundled(ftgl) = 1.32
%if !%{with gl2ps}
Provides: bundled(gl2ps) = 1.4.0
%endif
Provides: bundled(glew)
Provides: bundled(libharu)
Provides: bundled(metaio)
Provides: bundled(sqlite) = 3.6.22
Provides: bundled(pugixml) = 1.8
Provides: bundled(utf8cpp)
Provides: bundled(verdict) = 1.2.0
Provides: bundled(vpic)
Provides: bundled(xdmf2) = 2.1
Provides: bundled(xdmf3)
# Do not check .so files in the python2_sitearch directory
%global __provides_exclude_from ^%{python2_sitearch}/.*\\.so$
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
@ -149,57 +171,83 @@ Install the %{name}-openmpi package to get a version compiled with openmpi.
%package devel
Summary: VTK header files for building C++ code
Requires: vtk%{?_isa} = %{version}-%{release}
Requires: vtk-python%{?_isa} = %{version}-%{release}
Requires: vtk-qt-python%{?_isa} = %{version}-%{release}
Requires: vtk-qt-tcl%{?_isa} = %{version}-%{release}
Requires: vtk-tcl%{?_isa} = %{version}-%{release}
%if 0%{?fedora} >= 30
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
%{?with_OSMesa:Requires: mesa-libOSMesa-devel%{?_isa}}
Requires: cmake
Requires: blas-devel%{?_isa}
Requires: double-conversion-devel%{?_isa}
# eigen3 is noarch
Requires: eigen3-devel
Requires: expat-devel%{?_isa}
Requires: freetype-devel%{?_isa}
%if %{with gl2ps}
Requires: gl2ps-devel%{?_isa}
%endif
Requires: expat-devel%{?_isa}
Requires: freetype-devel%{?_isa}
Requires: glew-devel%{?_isa}
Requires: hdf5-devel%{?_isa}
Requires: lapack-devel%{?_isa}
Requires: libjpeg-devel%{?_isa}
Requires: lz4-devel%{?_isa}
Requires: libpng-devel%{?_isa}
Requires: libogg-devel%{?_isa}
Requires: libSM-devel%{?_isa}
Requires: libtheora-devel%{?_isa}
Requires: libtiff-devel%{?_isa}
Requires: libxml2-devel%{?_isa}
Requires: libpq-devel%{?_isa}
Requires: PEGTL-devel%{?_isa}
Requires: proj-devel%{?_isa}
Requires: pugixml-devel%{?_isa}
Requires: sqlite-devel%{?_isa}
Requires: libXt-devel%{?_isa}
Requires: mysql-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: qtwebkit-devel%{?_isa}
%endif
Requires: jsoncpp-devel%{?_isa}
# bz #1183210 + #1183530
%if 0%{?fedora} >= 30
Requires: python%{python3_pkgversion}-devel
%else
Requires: python2-devel
%endif
%description devel
This provides the VTK header files required to compile C++ programs that
use VTK to do 3D visualization.
%package tcl
Summary: 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}
Provides: %{py3_dist vtk} = %{version}
Provides: python%{python3_version}dist(vtk) = %{version}
%description tcl
tcl bindings for VTK.
%description -n python%{python3_pkgversion}-vtk
Python 3 bindings for VTK.
%else
%package -n python2-vtk
Summary: Python bindings for VTK
Summary: Python 2 bindings for VTK
Requires: vtk%{?_isa} = %{version}-%{release}
%{?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
python bindings for VTK.
Python 2 bindings for VTK.
%endif
%if %{with java}
%package java
@ -217,29 +265,31 @@ Requires: vtk%{?_isa} = %{version}-%{release}
%description qt
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
Summary: Qt Python bindings for VTK
Summary: Qt Python 2 bindings for VTK
Requires: vtk%{?_isa} = %{version}-%{release}
%{?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
Qt Python bindings for VTK.
%package qt-tcl
Summary: Qt TCL bindings for VTK
Requires: vtk%{?_isa} = %{version}-%{release}
%description qt-tcl
Qt TCL bindings for VTK.
Qt Python 2 bindings for VTK.
%endif
%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
%description mpich
VTK is an open-source software system for image processing, 3D
graphics, volume rendering and visualization. VTK includes many
@ -252,10 +302,8 @@ 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: vtk-mpich%{?_isa} = %{version}-%{release}
#Requires: vtk-python%{?_isa} = %{version}-%{release}
#Requires: vtk-qt-python%{?_isa} = %{version}-%{release}
#Requires: vtk-qt-tcl%{?_isa} = %{version}-%{release}
#Requires: vtk-tcl%{?_isa} = %{version}-%{release}
#Requires: python2-vtk%{?_isa} = %{version}-%{release}
#Requires: python2-vtk-qt%{?_isa} = %{version}-%{release}
%{?with_OSMesa:Requires: mesa-libOSMesa-devel%{?_isa}}
Requires: cmake
Requires: mpich-devel
@ -277,11 +325,22 @@ Requires: libpq-devel%{?_isa}
Requires: mysql-devel%{?_isa}
Requires: netcdf-cxx-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: qtwebkit-devel%{?_isa}
%endif
Requires: jsoncpp-devel%{?_isa}
# bz #1183210 + #1183530
%if 0%{?fedora} >= 30
Requires: python%{python3_pkgversion}-devel
%else
Requires: python2-devel
%endif
%description mpich-devel
This provides the VTK header files required to compile C++ programs that
@ -289,19 +348,21 @@ use VTK to do 3D visualization.
NOTE: The version in this package has been compiled with mpich support.
%package mpich-tcl
Summary: Tcl bindings for VTK with mpich
%if 0%{?fedora} >= 30
%package -n python%{python3_pkgversion}-vtk-mpich
Summary: Python 3 bindings for VTK with mpich
Requires: vtk-mpich%{?_isa} = %{version}-%{release}
%description mpich-tcl
tcl bindings for VTK with mpich.
%package mpich-python
Summary: Python bindings for VTK with mpich
%description -n python%{python3_pkgversion}-vtk-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 mpich-python
python bindings for VTK with mpich.
%description -n python2-vtk-mpich
python 2 bindings for VTK with mpich.
%endif
%if %{with java}
%package mpich-java
@ -319,25 +380,30 @@ Requires: vtk-mpich%{?_isa} = %{version}-%{release}
%description mpich-qt
Qt bindings for VTK with mpich.
%package mpich-qt-python
Summary: Qt Python bindings for VTK with mpich
%if 0%{?fedora} >= 30
%package -n python%{python3_pkgversion}-vtk-mpich-qt
Summary: Qt Python 3 bindings for VTK with mpich
Requires: vtk-mpich%{?_isa} = %{version}-%{release}
%description mpich-qt-python
Qt Python bindings for VTK with mpich.
%package mpich-qt-tcl
Summary: Qt TCL bindings for VTK with mpich
%description -n python%{python3_pkgversion}-vtk-mpich-qt
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 mpich-qt-tcl
Qt TCL bindings for VTK with mpich.
%description -n python2-vtk-mpich-qt
Qt Python 2 bindings for VTK with mpich.
%endif
%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
%description openmpi
VTK is an open-source software system for image processing, 3D
graphics, volume rendering and visualization. VTK includes many
@ -350,10 +416,8 @@ 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: vtk-openmpi%{?_isa} = %{version}-%{release}
#Requires: vtk-python%{?_isa} = %{version}-%{release}
#Requires: vtk-qt-python%{?_isa} = %{version}-%{release}
#Requires: vtk-qt-tcl%{?_isa} = %{version}-%{release}
#Requires: vtk-tcl%{?_isa} = %{version}-%{release}
#Requires: python2-vtk%{?_isa} = %{version}-%{release}
#Requires: python2-vtk-qt%{?_isa} = %{version}-%{release}
%{?with_OSMesa:Requires: mesa-libOSMesa-devel%{?_isa}}
Requires: cmake
Requires: openmpi-devel
@ -375,11 +439,22 @@ Requires: libpq-devel%{?_isa}
Requires: mysql-devel%{?_isa}
Requires: netcdf-cxx-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: qtwebkit-devel%{?_isa}
%endif
Requires: jsoncpp-devel%{?_isa}
# bz #1183210 + #1183530
%if 0%{?fedora} >= 30
Requires: python%{python3_pkgversion}-devel
%else
Requires: python2-devel
%endif
%description openmpi-devel
This provides the VTK header files required to compile C++ programs that
@ -387,19 +462,21 @@ use VTK to do 3D visualization.
NOTE: The version in this package has been compiled with openmpi support.
%package openmpi-tcl
Summary: Tcl bindings for VTK with openmpi
%if 0%{?fedora} >= 30
%package -n python%{python3_pkgversion}-vtk-openmpi
Summary: Python 3 bindings for VTK with openmpi
Requires: vtk-openmpi%{?_isa} = %{version}-%{release}
%description openmpi-tcl
tcl bindings for VTK with openmpi.
%package openmpi-python
Summary: Python bindings for VTK with openmpi
%description -n python%{python3_pkgversion}-vtk-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 openmpi-python
python bindings for VTK with openmpi.
%description -n python2-vtk-openmpi
Python 2 bindings for VTK with openmpi.
%endif
%if %{with java}
%package openmpi-java
@ -417,19 +494,21 @@ Requires: vtk-openmpi%{?_isa} = %{version}-%{release}
%description openmpi-qt
Qt bindings for VTK with openmpi.
%package openmpi-qt-python
Summary: Qt Python bindings for VTK with openmpi
%if 0%{?fedora} >= 30
%package -n python%{python3_pkgversion}-vtk-openmpi-qt
Summary: Qt Python 3 bindings for VTK with openmpi
Requires: vtk-openmpi%{?_isa} = %{version}-%{release}
%description openmpi-qt-python
Qt Python bindings for VTK with openmpi.
%package openmpi-qt-tcl
Summary: Qt TCL bindings for VTK with openmpi
%description -n python%{python3_pkgversion}-vtk-openmpi-qt
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 openmpi-qt-tcl
Qt TCL bindings for VTK with openmpi.
%description -n python2-vtk-openmpi-qt
Qt Python 2 bindings for VTK with openmpi.
%endif
%endif
%package data
@ -459,22 +538,23 @@ programming languages.
%prep
%setup -q -b 1 -n VTK-%{version}
%patch0 -p1 -b .format
%patch5 -p1 -b .tcllib
# Remove included thirdparty sources just to be sure
# TODO - alglib - http://www.vtk.org/Bug/view.php?id=15729
# TODO - vtkexodusII - not yet packaged
# TODO - vtksqlite - http://www.vtk.org/Bug/view.php?id=14154
# TODO - diy2 - not yet packaged
# TODO - exodusII - not yet packaged
# TODO - pugixml - https://gitlab.kitware.com/vtk/vtk/issues/17538
# TODO - utf8cpp(source) - http://www.vtk.org/Bug/view.php?id=15730
# TODO - vtkverdict - not yet packaged
# TODO - verdict - not yet packaged
# TODO - VPIC - not yet packaged
# TODO - vtkxdmf2 - 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
# TODO - xdmf2 - not yet packaged
# TODO - xdmf3 - not yet packaged
for x in vtk{doubleconversion,eigen,expat,freetype,%{?_with_gl2ps:gl2ps,}glew,hdf5,jpeg,jsoncpp,kissfft,libproj,libxml2,lz4,lzma,mpi4py,netcdf,ogg,pegtl,png,sqlite,theora,tiff,zfp,zlib}
do
rm -r ThirdParty/*/${x}
done
# Needed to find PEGTL
cp %SOURCE3 CMake/FindPEGTL.cmake
# Remove unused KWSys items
find Utilities/KWSys/vtksys/ -name \*.[ch]\* | grep -vE '^Utilities/KWSys/vtksys/([a-z].*|Configure|SharedForward|String\.hxx|Base64|CommandLineArguments|Directory|DynamicLoader|Encoding|FStream|FundamentalType|Glob|MD5|Process|RegularExpression|System|SystemInformation|SystemTools)(C|CXX|UNIX)?\.' | xargs rm
@ -498,18 +578,21 @@ export JAVA_TOOL_OPTIONS=-Xmx2048m
%global vtk_cmake_options \\\
-DVTK_CUSTOM_LIBRARY_SUFFIX="" \\\
-DVTK_INSTALL_ARCHIVE_DIR:PATH=%{_lib}/vtk \\\
-DVTK_INSTALL_ARCHIVE_DIR:PATH=%{_lib} \\\
-DVTK_INSTALL_DATA_DIR=share/vtk \\\
-DVTK_INSTALL_INCLUDE_DIR:PATH=include/vtk \\\
-DVTK_INSTALL_LIBRARY_DIR:PATH=%{_lib}/vtk \\\
-DVTK_INSTALL_LIBRARY_DIR:PATH=%{_lib} \\\
-DVTK_INSTALL_PACKAGE_DIR:PATH=%{_lib}/cmake/vtk \\\
-DVTK_INSTALL_PYTHON_MODULE_DIR:PATH=%{_lib}/python%{python2_version}/site-packages \\\
%if 0%{?fedora} >= 30 \
-DVTK_PYTHON_VERSION=3 \\\
%else \
-DVTK_PYTHON_VERSION=2 \\\
%endif \
%if %{with qt5} \
-DVTK_INSTALL_QT_DIR:PATH=%{_lib}/qt5/plugins/designer \\\
%else \
-DVTK_INSTALL_QT_DIR:PATH=%{_lib}/qt4/plugins/designer \\\
%endif \
-DVTK_INSTALL_TCL_DIR:PATH=share/tcl%{tcl_version}/vtk \\\
-DTK_INTERNAL_PATH:PATH=/usr/include/tk-private/generic \\\
%if %{with OSMesa} \
-DVTK_OPENGL_HAS_OSMESA:BOOL=ON \\\
@ -523,16 +606,12 @@ export JAVA_TOOL_OPTIONS=-Xmx2048m
-DVTK_WRAP_JAVA:BOOL=OFF \\\
%endif \
-DVTK_WRAP_PYTHON:BOOL=ON \\\
-DVTK_WRAP_PYTHON_SIP:BOOL=ON \\\
-DSIP_INCLUDE_DIR:PATH=/usr/include/python%{python2_version} \\\
-DVTK_WRAP_TCL:BOOL=ON \\\
-DVTK_Group_Imaging:BOOL=ON \\\
-DVTK_Group_Qt:BOOL=ON \\\
-DVTK_Group_Rendering:BOOL=ON \\\
-DVTK_Group_StandAlone:BOOL=ON \\\
-DVTK_Group_Tk:BOOL=ON \\\
-DVTK_Group_Views:BOOL=ON \\\
-DModule_vtkFiltersStatisticsGnuR:BOOL=ON \\\
-DModule_vtkIOExportOpenGL2:BOOL=ON \\\
-DModule_vtkIOMySQL:BOOL=ON \\\
-DModule_vtkIOPostgreSQL:BOOL=ON \\\
@ -544,10 +623,9 @@ export JAVA_TOOL_OPTIONS=-Xmx2048m
%endif \
-DVTK_USE_OGGTHEORA_ENCODER=ON \\\
-DVTK_USE_SYSTEM_LIBRARIES=ON \\\
-DVTK_USE_SYSTEM_DIY2:BOOL=OFF \\\
%{?vtk_use_system_gl2ps} \\\
-DVTK_USE_SYSTEM_HDF5:BOOL=ON \\\
-DVTK_USE_SYSTEM_LIBPROJ4:BOOL=OFF \\\
-DVTK_USE_SYSTEM_LIBHARU=OFF \\\
-DVTK_USE_SYSTEM_NETCDF:BOOL=ON
# Commented old flags in case we'd like to reactive some of them
# -DVTK_USE_DISPLAY:BOOL=OFF \ # This prevents building of graphics tests
@ -559,7 +637,8 @@ pushd build
-DBUILD_DOCUMENTATION:BOOL=ON \
-DBUILD_EXAMPLES:BOOL=ON \
-DBUILD_TESTING:BOOL=ON
make %{?_smp_mflags}
%make_build
%make_build DoxygenDoc vtkMyDoxygenDoc
popd
%if %{with mpich}
@ -575,7 +654,6 @@ export CXX=mpic++
-DVTK_INSTALL_ARCHIVE_DIR:PATH=lib \
-DVTK_INSTALL_LIBRARY_DIR:PATH=lib \
-DVTK_INSTALL_PACKAGE_DIR:PATH=lib/cmake \
-DVTK_INSTALL_PYTHON_MODULE_DIR:PATH=lib/python%{python2_version}/site-packages \
%if %{with qt5}
-DVTK_INSTALL_QT_DIR:PATH=lib/qt5/plugins/designer \
%else
@ -584,8 +662,9 @@ export CXX=mpic++
-DVTK_Group_MPI:BOOL=ON \
-DModule_vtkRenderingParallel:BOOL=ON \
-DVTK_USE_PARALLEL:BOOL=ON \
-DVTK_USE_SYSTEM_DIY2:BOOL=OFF \
-DVTK_USE_SYSTEM_MPI4PY:BOOL=ON
make %{?_smp_mflags}
%make_build
%_mpich_unload
popd
%endif
@ -603,7 +682,6 @@ export CXX=mpic++
-DVTK_INSTALL_ARCHIVE_DIR:PATH=lib \
-DVTK_INSTALL_LIBRARY_DIR:PATH=lib \
-DVTK_INSTALL_PACKAGE_DIR:PATH=lib/cmake \
-DVTK_INSTALL_PYTHON_MODULE_DIR:PATH=lib/python%{python2_version}/site-packages \
%if %{with qt5}
-DVTK_INSTALL_QT_DIR:PATH=lib/qt5/plugins/designer \
%else
@ -612,8 +690,9 @@ export CXX=mpic++
-DVTK_Group_MPI:BOOL=ON \
-DModule_vtkRenderingParallel:BOOL=ON \
-DVTK_USE_PARALLEL:BOOL=ON \
-DVTK_USE_SYSTEM_DIY2:BOOL=OFF \
-DVTK_USE_SYSTEM_MPI4PY:BOOL=ON
make %{?_smp_mflags}
%make_build
%_openmpi_unload
popd
%endif
@ -628,8 +707,8 @@ pushd build
%make_install
# Gather list of non-python/tcl libraries
ls %{buildroot}%{_libdir}/vtk/*.so.* \
| grep -Ev '(Java|Qt|Python27D|TCL)' | sed -e's,^%{buildroot},,' > libs.list
ls %{buildroot}%{_libdir}/*.so.* \
| grep -Ev '(Java|Qt|Python..D|TCL)' | sed -e's,^%{buildroot},,' > libs.list
# List of executable examples
cat > examples.list << EOF
@ -689,7 +768,7 @@ pushd build-mpich
# Gather list of non-python/tcl libraries
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
%_mpich_unload
%endif
@ -701,19 +780,11 @@ pushd build-openmpi
# Gather list of non-python/tcl libraries
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
popd
%endif
# ld config
mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
echo %{_libdir}/vtk > %{buildroot}%{_sysconfdir}/ld.so.conf.d/vtk-%{_arch}.conf
# Make scripts executable
#chmod a+x %{buildroot}%{_libdir}/vtk/doxygen/*.pl
#chmod a+x %{buildroot}%{_libdir}/vtk/testing/*.{py,tcl}
# Remove exec bit from non-scripts and %%doc
for file in `find %{buildroot} -type f -perm 0755 \
| xargs -r file | grep ASCII | awk -F: '{print $1}'`; do
@ -744,121 +815,87 @@ ctest %{_smp_mflags} -V || :
kill %1 || :
cat xorg.log
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post tcl -p /sbin/ldconfig
%postun tcl -p /sbin/ldconfig
%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
%if 0%{?fedora} < 28
%ldconfig_scriptlets
%ldconfig_scriptlets java
%ldconfig_scriptlets python2-vtk
%ldconfig_scriptlets python2-vtk-qt
%ldconfig_scriptlets qt
%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
%license Copyright.txt
%doc README.md vtkLogo.jpg vtkBanner.gif _docs/Wrapping
%config(noreplace) %{_sysconfdir}/ld.so.conf.d/vtk-%{_arch}.conf
%{_bindir}/vtkEncodeString
%dir %{_libdir}/vtk
%doc README.md _docs/Wrapping
%files devel
%doc Utilities/Upgrading
%{_bindir}/vtkHashSource
%{_bindir}/vtkWrapHierarchy
%{_includedir}/vtk
%{_libdir}/vtk/*.so
%{_libdir}/vtk/libvtkWrappingTools.a
%{_libdir}/*.so
%{_libdir}/libvtkWrappingTools.a
%{_libdir}/cmake/vtk/
%{_docdir}/vtk-7.1/
%{tcl_sitelib}/vtk/vtktcl.c
%files tcl
%{_libdir}/vtk/*TCL.so.*
%exclude %{_libdir}/vtk/*QtTCL.so.*
%{_bindir}/vtk
%{_bindir}/vtkWrapTcl
%{_bindir}/vtkWrapTclInit
%{tcl_sitelib}/vtk/
%exclude %{tcl_sitelib}/vtk/vtktcl.c
%{_docdir}/vtk-8.2/
%if 0%{?fedora} >= 30
%files -n python%{python3_pkgversion}-vtk
%{python3_sitearch}/*
%{_libdir}/*Python3?D.so.*
%exclude %{_libdir}/*QtPython3?D.so.*
%else
%files -n python2-vtk
%{python2_sitearch}/*
%{_libdir}/vtk/*Python27D.so.*
%exclude %{_libdir}/vtk/*QtPython27D.so.*
%{_libdir}/*Python27D.so.*
%exclude %{_libdir}/*QtPython27D.so.*
%endif
%{_bindir}/vtkpython
%{_bindir}/vtkWrapPython
%{_bindir}/vtkWrapPythonInit
%if %{with java}
%files java
%{_libdir}/vtk/*Java.so.*
%{_libdir}/vtk/vtk.jar
%{_libdir}/*Java.so.*
%{_libdir}/vtk.jar
%{_bindir}/vtkParseJava
%{_bindir}/vtkWrapJava
%endif
%files qt
%{_libdir}/vtk/lib*Qt*.so.*
%exclude %{_libdir}/vtk/*TCL.so.*
%exclude %{_libdir}/vtk/*Python27D.so.*
%{_libdir}/lib*Qt*.so.*
%exclude %{_libdir}/*TCL.so.*
%exclude %{_libdir}/*Python??D.so.*
%{_libdir}/qt?/plugins/designer/libQVTKWidgetPlugin.so
%if 0%{?fedora} >= 30
%files -n python%{python3_pkgversion}-vtk-qt
%{_libdir}/*QtPython3?D.so.*
%else
%files -n python2-vtk-qt
%{_libdir}/vtk/*QtPython27D.so.*
%files qt-tcl
%{_libdir}/vtk/*QtTCL.so.*
%{_libdir}/*QtPython27D.so.*
%endif
%if %{with mpich}
%files mpich -f build-mpich/libs.list
%license Copyright.txt
%doc README.md vtkLogo.jpg vtkBanner.gif _docs/Wrapping
%{_libdir}/mpich/bin/vtkEncodeString
%doc README.md _docs/Wrapping
%files mpich-devel
%{_libdir}/mpich/bin/vtkHashSource
%{_libdir}/mpich/bin/vtkWrapHierarchy
%{_libdir}/mpich/include/
%{_libdir}/mpich/lib/*.so
%{_libdir}/mpich/lib/libvtkWrappingTools.a
%{_libdir}/mpich/lib/cmake/
%{_libdir}/mpich/share/doc/vtk-7.1/
%{_libdir}/mpich/share/tcl%{tcl_version}/vtk/vtktcl.c
%{_libdir}/mpich/share/doc/vtk-8.2/
%files mpich-tcl
%{_libdir}/mpich/lib/*TCL.so.*
%exclude %{_libdir}/mpich/lib/*QtTCL.so.*
%{_libdir}/mpich/bin/pvtk
%{_libdir}/mpich/bin/vtk
%{_libdir}/mpich/bin/vtkWrapTcl
%{_libdir}/mpich/bin/vtkWrapTclInit
%{_libdir}/mpich/share/tcl%{tcl_version}/
%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/*Python27D.so.*
%exclude %{_libdir}/mpich/lib/*QtPython27D.so.*
%endif
%exclude %{_libdir}/mpich/lib/*QtPython??D.so.*
%{_libdir}/mpich/bin/pvtkpython
%{_libdir}/mpich/bin/vtkpython
%{_libdir}/mpich/bin/vtkWrapPython
@ -875,46 +912,42 @@ cat xorg.log
%files mpich-qt
%{_libdir}/mpich/lib/lib*Qt*.so.*
%exclude %{_libdir}/mpich/lib/*TCL.so.*
%exclude %{_libdir}/mpich/lib/*Python27D.so.*
%exclude %{_libdir}/mpich/lib/*Python??D.so.*
%{_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.*
%files mpich-qt-tcl
%{_libdir}/mpich/lib/*QtTCL.so.*
%endif
%endif
%if %{with openmpi}
%files openmpi -f build-openmpi/libs.list
%license Copyright.txt
%doc README.md vtkLogo.jpg vtkBanner.gif _docs/Wrapping
%{_libdir}/openmpi/bin/vtkEncodeString
%doc README.md _docs/Wrapping
%files openmpi-devel
%{_libdir}/openmpi/bin/vtkHashSource
%{_libdir}/openmpi/bin/vtkWrapHierarchy
%{_libdir}/openmpi/include/
%{_libdir}/openmpi/lib/*.so
%{_libdir}/openmpi/lib/libvtkWrappingTools.a
%{_libdir}/openmpi/lib/cmake/
%{_libdir}/openmpi/share/doc/vtk-7.1/
%{_libdir}/openmpi/share/tcl%{tcl_version}/vtk/vtktcl.c
%{_libdir}/openmpi/share/doc/vtk-8.2/
%files openmpi-tcl
%{_libdir}/openmpi/lib/*TCL.so.*
%exclude %{_libdir}/openmpi/lib/*QtTCL.so.*
%{_libdir}/openmpi/bin/pvtk
%{_libdir}/openmpi/bin/vtk
%{_libdir}/openmpi/bin/vtkWrapTcl
%{_libdir}/openmpi/bin/vtkWrapTclInit
%{_libdir}/openmpi/share/tcl%{tcl_version}/
%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/*Python27D.so.*
%exclude %{_libdir}/openmpi/lib/*QtPython27D.so.*
%endif
%exclude %{_libdir}/openmpi/lib/*QtPython??D.so.*
%{_libdir}/openmpi/bin/pvtkpython
%{_libdir}/openmpi/bin/vtkpython
%{_libdir}/openmpi/bin/vtkWrapPython
@ -934,11 +967,13 @@ cat xorg.log
%exclude %{_libdir}/openmpi/lib/*Python27D.so.*
%{_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.*
%files openmpi-qt-tcl
%{_libdir}/openmpi/lib/*QtTCL.so.*
%endif
%endif
%files data
@ -951,6 +986,31 @@ cat xorg.log
%changelog
* Wed Jul 03 2019 Björn Esser <besser82@fedoraproject.org> - 8.2.0-4
- Rebuild (jsoncpp)
* Thu Apr 18 2019 Orion Poplawski <orion@nwra.com> - 8.2.0-3
- Provide starndard python 3.Y dist name (bugz#1700307)
* Tue Apr 16 2019 Orion Poplawski <orion@nwra.com> - 8.2.0-2
- Provide standard python 3 dist name (bugz#1700307)
* Sat Mar 16 2019 Orion Poplawski <orion@nwra.com> - 8.2.0-1
- Update to 8.2.0
- TCL wrapping has been dropped upstream
- Build with system glew
* Fri Feb 15 2019 Orion Poplawski <orion@nwra.com> - 8.1.1-3
- Rebuild for openmpi 3.1.3
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 8.1.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* 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
- rebuild against libpq (rhbz#1618698, rhbz#1623764)