Accepting request 662745 from home:StefanBruens:branches:science

- Add openmpi2 flavor
- BuildRequire netcdf-{mpi_flavor}-devel for MPI flavors
- Add Conflicts between flavors of python3 subpackage (all flavors
  install into python_sitearch).
- Convert openmpi package to multibuild flavor
- Use correct mpi version - openmpi currently means openmpi, and not openmpi2/3
  Otherwise, VTK depends on openmpi1 (HDF5, netcdf) and openmpi2/3 (direct)
- Remove several mpi BuildRequires in serial flavor

OBS-URL: https://build.opensuse.org/request/show/662745
OBS-URL: https://build.opensuse.org/package/show/science/vtk?expand=0&rev=133
This commit is contained in:
Atri Bhattacharya 2019-01-05 16:21:10 +00:00 committed by Git OBS Bridge
parent 6d43a74ef0
commit b539f2fe63
5 changed files with 153 additions and 1198 deletions

4
_multibuild Normal file
View File

@ -0,0 +1,4 @@
<multibuild>
<package>openmpi</package>
<package>openmpi2</package>
</multibuild>

View File

@ -1,662 +0,0 @@
-------------------------------------------------------------------
Wed Dec 12 19:32:47 UTC 2018 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Add python3-vtk to vtk-devel Requires, same as for vtk-java/tcl
- Remove empty testing subpackage
- Fix path to VTK_DATA_ROOT default directory
-------------------------------------------------------------------
Thu Nov 22 15:41:50 UTC 2018 - Todd R <toddrme2178@gmail.com>
- Update to version 8.1.2
* Issue error if vtkAlgorithm::GetInputConnection called on wrong port
* Added explicit cast to pacify UBSans “implicit-integer-truncation”
* Make some orientation marker widget methods virtual
* vtkImageBlend bug fix for compound mode
* vtkFlyingEdges2D: Properly color multiple isocontour values
* Invoke DeletePointEvent before deleting vtkSeedWidget seed
* Fix compilation issue due to Python3.7 API change
* Fix bug where re-enabling seed widget wouldn't move existing seeds
- Fix python dependencies
- Test to make sure python package is importable
- Split out MPI version since the MPI version cannot be used
outside an MPI environment.
-------------------------------------------------------------------
Fri Jun 29 07:17:51 UTC 2018 - badshah400@gmail.com
- Drop post[un] scripts for devel and java subpackages; they are
only needed for the versioned shlib.
-------------------------------------------------------------------
Mon Jun 11 20:06:48 UTC 2018 - toddrme2178@gmail.com
- Update to version 8.1.1:
* Fixed thin border around vtkImageResliceMapper
rendering
* Fixed vtkImageResliceMapper showing a black
polygon when slice is out of bounds.
* Fixed conflict between Process.h and process.h
* Fixed building VTK 8.1 against 10.13 SDK
resulting in linker errors when trying to use
resulting libraries on older SDK
* Fixed vtkCellPicker::IntersectActorWithLine maybe
using invalid cell id when picking composite data
- Add fix_qt5_example_cmake.patch
Fixes use of removed cmake macro in some examples
See: https://gitlab.kitware.com/vtk/vtk/issues/17336
- Use modern cmake spec file macros
- Run spec cleaner
- Other spec file cleanups
- Support parallel HDF5.
- Drop support for qt4. Any version of openSUSE with a recent
enough version of cmake to build the package supports Qt5.
- Drop checks for old versions of openSUSE that have too old
of a cmake to build.
-------------------------------------------------------------------
Sun Feb 4 00:41:17 UTC 2018 - stefan.bruens@rwth-aachen.de
- Use split libboost*-devel BuildRequires for TW and Leap/SLE 15
-------------------------------------------------------------------
Wed Jan 24 11:28:47 UTC 2018 - fstrba@suse.com
- Fix build with jdk10
* give a bogus javah path "%{_bindir}/true", since the cmake
checks the javah binary although the build does not use it.
-------------------------------------------------------------------
Fri Jan 12 13:43:49 UTC 2018 - badshah400@gmail.com
- Drop vtk-Rinterface-uintptr_t.patch as the related plugin has
been retired.
-------------------------------------------------------------------
Wed Jan 10 12:34:03 UTC 2018 - badshah400@gmail.com
- Drop vtk-compat_gl: Building against OpenGL1 has now been
deprecated with version 8.1.0, and the examples don't build
against it already; so, drop all specfile and related
modifications catering to OpenGL1 bindings.
-------------------------------------------------------------------
Thu Dec 28 11:22:29 UTC 2017 - badshah400@gmail.com
- Update to version 8.1.0:
* Full release notes at https://blog.kitware.com/vtk-8-1-0/.
- Turn OFF building against system libharu, since libharu
upstream seems dead, while vtk's included libharu has new
features essential for building vtk 8.1. Drop BuildRequires on
libharu.
- Does not build against java 10, so ensure at most java 9 is
used by using appropriate versioning for java-devel
BuildRequires.
- Drop cmake options no longer used for build.
- Drop VERBOSE=1 for make: it makes the compilation too verbose
making brp checks for code warnings too slow to execute; this
reduces build time by nearly half.
- Enforce Qt4 for openSUSE <= 1320 explicitly because Qt5 is now
the default option.
-------------------------------------------------------------------
Mon Dec 4 18:25:57 UTC 2017 - bruno@ioda-net.ch
- Move BuildRequires: libQtWebKit-devel (Qt4) inside the else
version < 13.2
-------------------------------------------------------------------
Thu Oct 26 08:48:16 UTC 2017 - dimstar@opensuse.org
- Add conflict between the -devel-doc variants.
-------------------------------------------------------------------
Tue Oct 24 11:55:17 UTC 2017 - dimstar@opensuse.org
- Setup MPI environment before building.
-------------------------------------------------------------------
Thu Oct 12 20:47:27 UTC 2017 - jengelh@inai.de
- Rectify RPM groups again.
-------------------------------------------------------------------
Sun Oct 1 20:36:49 UTC 2017 - stefan.bruens@rwth-aachen.de
- Move the vtk binary to the tcl subpackage, it is an interactive
TCL shell, and depends on the TCL bindings. It can be used
standalone from the devel package. Dito for its MPI variant, i.e.
the pvtk binary.
- Move all libvtk*Java.so to the java subpackage. These are part of
the Java bindings, i.e. runtime dependencies. Otherwise, the java
subpacakge depends on the devel subpackage.
- Add the tcl and java subpackage to the devel requires again.
Although not stricly necessary until building java or tcl packages,
the cmake files have a hard dependency on several build artifacts
provided by the tcl and java subpackages. Split devel packages
for the bindings would be preferred, but this is not supported by
the upstream build system.
- Remove the openmpi-devel requires in the python subpackage, the
mpi runtime libraries are provided by openmpi-libs, which is
picked up automatically.
-------------------------------------------------------------------
Sun Oct 01 17:04:57 UTC 2017 - stefan.bruens@rwth-aachen.de
- Split the API documentation from the development subpackage. The
documentation amounts to almost 1 GByte of data, not necessary
when just building packages.
-------------------------------------------------------------------
Thu Sep 28 10:43:27 UTC 2017 - badshah400@gmail.com
- Drop vtk-compat_gl-rpmlintrc: openSUSE:Factory bots don't accept
conditional sources and one rpmlintrc file is sufficient for
both main and linked packages anyway.
-------------------------------------------------------------------
Tue Sep 19 10:46:40 UTC 2017 - kkhere.geo@gmail.com
- do not exclude libViewsGeovisJava.so from devel package
This library is required for development.
- package vtk binary in devel package.
- VTKTargets-debug.cmake tests for the existance of the library (line 3394)
and the binary (line 3404) and causes an error if the files do
not exist
-------------------------------------------------------------------
Thu Sep 14 20:54:34 UTC 2017 - stefan.bruens@rwth-aachen.de
- Remove the various subpackage Requires from the devel package
again. The qt subpackage contains a Qt Designer plugin and no
dependency at all. Package the vtkWrap{Tcl,Java,Python} wrapper
generators in the devel package, as these are useless without
the vtk headers files.
- Fix description/summary of vtk-qt subpackage
-------------------------------------------------------------------
Tue Sep 12 12:33:38 UTC 2017 - kkhere.geo@gmail.com
- devel subpackage should require -tcl, -java and -qt subpackages
since the *.cmake files refer to files in those subpackages
-------------------------------------------------------------------
Mon Sep 11 13:46:28 UTC 2017 - stefan.bruens@rwth-aachen.de
- Add 0001-Allow-compilation-on-GLES-platforms.patch
The QOpenGLFunctions_3_2_Core class providing the framebuffer
blit functions is not available on GLES 2 builds of Qt5. Let Qt
handle the framebuffer blit, and just use the GLES/GL subset
provided by QOpenGLFunctions for the remainder.
Fix for https://gitlab.kitware.com/vtk/vtk/issues/17113
-------------------------------------------------------------------
Fri Sep 1 00:13:18 UTC 2017 - badshah400@gmail.com
- Update to version 8.0.1:
* Fix QVTKOpenGLWidget rendering issues on Windows machines with
certain Intel graphics chips. This was a significant issue
that broke all rendering and resulted in a black screen.
* Fix data array range caching per finite component which would
otherwise cause considerable slow-downs when using data
arrays.
* Fix button and slider widgets to work in multi-viewport render
windows. Without this change the widgets would either be
placed in the wrong viewport or be non-interactive completely.
* Fix image XY sampling in the volume mapper when depth peeling
is enabled.
* Fix z-fighting issues with dual depth peeling between two
layers of geometry that are too close.
* Fix crash when reparenting the QVTKWidget to a different
window. The application would crash due to lack of OpenGL
resources for the reparented widget.
-------------------------------------------------------------------
Mon Aug 21 18:41:37 UTC 2017 - badshah400@gmail.com
- Suppress romlint error about shlib-policy-name-error for
%{name}-java -- libvtkViewsGeovisJava.so packaged therein
is not a versioned shared lib, and only used by vtk's java
bindings, so there is no point in enforcing the shared lib
packaging policy for this subpackage.
-------------------------------------------------------------------
Wed Aug 9 10:40:59 UTC 2017 - badshah400@gmail.com
- Move libvtkViewsGeovisJava.so to the %{name}-java subpackage,
this is not really a devel file.
-------------------------------------------------------------------
Wed Aug 9 08:54:55 UTC 2017 - jengelh@inai.de
- Fix RPM groups. Use POSIX-compliant find call.
-------------------------------------------------------------------
Mon Aug 7 09:13:03 UTC 2017 - badshah400@gmail.com
- Implement shared library packaging policy for vtk:
+ Rename %{name} to %{shlib}.
+ Move all shared library objects to %{shlib} package.
+ Remove no longer needed Requires from %{name}-devel package;
e.g.: %{name}-java contains the java binaries and jar object
now, and no longer the lib*Java.so file which has been moved
into %{shlib}.
+ Adapt conflicts for vtk-compat_gl accordingly.
+ Install libraries to /usr/lib(64) instead of
/usr/lib(64)/vtk.
+ Do away with python3-%{name}-qt subpackage and
Obsolete/Provide it from %{shlib} as it only contained a
shared lib object.
- Use system mpi4py; add BuildRequires on python3-mpi4py.
- liblz4 >= 1.7.3 now required (since version 8.0); adapt
BuildRequires accordingly.
-------------------------------------------------------------------
Tue Jul 25 00:04:11 UTC 2017 - jengelh@inai.de
- Trim descriptions and rectify RPM groups.
-------------------------------------------------------------------
Mon Jul 17 23:37:37 UTC 2017 - adrian@suse.de
- add liblz4-devel and libharu-devel also to Requires of devel package
(fixes linking errors in other packages)
-------------------------------------------------------------------
Mon Jul 3 13:47:05 UTC 2017 - badshah400@gmail.com
- Update to version 8.0.0:
* Read about changes here: https://blog.kitware.com/vtk-8-0-0/
* API changes:
http://www.vtk.org/Wiki/VTK/API_Changes_7_1_0_to_8_0_0
- Add BuildRequires on liblz4-devel, libharu-devel, mandatory
requirements for version 8.0.0.
- Run make DoxygenDoc to generate documentation.
-------------------------------------------------------------------
Fri Apr 14 18:18:36 UTC 2017 - kkhere.geo@gmail.com
- add a separate package vtk-compat_gl compile using rendering backend
OpenGL for systems without brand new graphic cards
- default package vtk still uses new rendering backend default OpenGL2
-------------------------------------------------------------------
Wed Nov 23 10:28:02 UTC 2016 - badshah400@gmail.com
- Update to version 7.1.0: See news item at
https://blog.kitware.com/kitware-plans-to-spotlight-new-vtk-and-paraview-releases-at-sc16/
- Drop patch vtk-gcc6.patch, upstreamed.
- Turn off usage of system DIY2, this library is not yet packaged
for openSUSE.
- Disable mkg3states binary also for openSUSE:Leap versions.
- Update file list for upstream installation changes.
- Use bundled gl2ps, as it no longer builds against the system
one (requires svn trunk version of gl2ps).
- CMake >= 3.4 is now required (earlier versions don't support
NAMES_PER_DIR in find_program).
- Enable use of SYSTEM_LIBRARIES for openSUSE:Leap versions too
(only 13.2 requires this turned off as of now).
-------------------------------------------------------------------
Wed Aug 10 00:56:56 UTC 2016 - badshah400@gmail.com
- Refresh vtk-Rinterface-uintptr_t.patch to fix further issues
with uintptr_t redefinition by defining the HAVE_UINTPTR_T
macro using cmake functions; removing the #include of stdint.h
is not needed any more since we will not be using the defs from
Rinterface.h anyway (boo#985386). Although this really causes a
build failure for the i586 arch, where the redefinition of
unitptr_t in Rinterface.h conflicts with the stdint.h defintion,
the patch is applied generally because the redefinition is not
needed in any case. Patch sent upstream.
-------------------------------------------------------------------
Wed Apr 13 11:32:12 UTC 2016 - badshah400@gmail.com
- Add freetype2-devel as a Requires for vtk-devel.
-------------------------------------------------------------------
Wed Mar 30 14:31:03 UTC 2016 - badshah400@gmail.com
- Apply vtk-gcc6.patch also to python-vtk.
-------------------------------------------------------------------
Wed Mar 30 13:08:09 UTC 2016 - stecue@gmail.com
- Fixed RPATH error for Factory by passing the option
CMAKE_NO_BUILTIN_CHRPATH:BOOL=ON to cmake.
-------------------------------------------------------------------
Tue Mar 29 20:27:32 UTC 2016 - dmueller@suse.com
- add vtk-gcc6.patch: Fix build with gcc 6
- skip RPATH setting
-------------------------------------------------------------------
Fri Mar 18 19:27:34 UTC 2016 - stecue@gmail.com
- openmpi-libs will be installed with openmpi-devel if necessary.
No such package on openSUSE 13.1.
-------------------------------------------------------------------
Tue Mar 15 13:33:58 UTC 2016 - dvaleev@suse.com
- Add disk constraints
-------------------------------------------------------------------
Wed Feb 17 01:13:12 UTC 2016 - badshah400@gmail.com
- Update to version 7.0.0:
+ See https://blog.kitware.com/vtk-7-0-0/ for a detailed
article describing all the changes in this version.
- Add vtk-Rinterface-uintptr_t.patch to fix building: uintptr_t
is already defined in the R headers, uintptr_t definition in
<stdint.h> conflicts with the R definition and causes builds to
fail. This patch fixes the problem by commenting out the call
to include stdint.h (it was only being used for this solitary
symbol).
- Use python 3 for building, rename python- subpackages
accordingly to python3-.
- Update file lists in accordance with added/dropped binaries
upstream; affects vtk-examples, vtk-devel.
- Drop conditionals referencing outdated openSUSE version 12.3.
- Update rpmlintrc file to suppress rpmlint warnings for
"no-manual-page-for-binary": upstream does not supply manuals
for its binaries and does not plan to.
-------------------------------------------------------------------
Fri Sep 18 09:11:38 UTC 2015 - badshah400@gmail.com
- vtkdata should be a Recommends for vtk-examples, not Requires.
-------------------------------------------------------------------
Mon Aug 31 07:39:10 UTC 2015 - badshah400@gmail.com
- Update to version 6.3.0:
- See list of changes at
http://www.vtk.org/Bug/changelog_page.php?version_id=118
or blog post at
http://www.kitware.com/blog/home/post/963.
-------------------------------------------------------------------
Sat Aug 15 04:16:39 UTC 2015 - badshah400@gmail.com
- python-vtk also needs openmpi-devel at runtime.
-------------------------------------------------------------------
Fri Aug 14 10:51:11 UTC 2015 - badshah400@gmail.com
- python-vtk should have Requires on openmpi-libs to enable its
parallelized modules to work.
-------------------------------------------------------------------
Thu Jun 25 08:17:04 UTC 2015 - alinm.elena@gmail.com
- use qt5 for factory
-------------------------------------------------------------------
Mon Jun 22 18:00:32 UTC 2015 - olaf@aepfle.de
- Add libxml2-devel/netcdf-devel/libnetcdf_c++-devel Requires to vtk-devel
-------------------------------------------------------------------
Wed Apr 8 19:57:31 UTC 2015 - dimstar@opensuse.org
- Add jsoncpp-devel Requires to vtk-devel (for openSUSE > 13.2):
vtkjsoncpp.cmake has
set(vtkjsoncpp_LIBRARIES "/usr/lib64/libjsoncpp.so").
-------------------------------------------------------------------
Fri Mar 13 19:50:12 UTC 2015 - badshah400@gmail.com
- Update to version 6.2.0:
+ See http://www.kitware.com/blog/home/post/858 for a list of
changes.
- Drop patches incorporated upstream:
+ vtk-install-missing-modules.patch
+ vtk-Mesa10.3-build-failures.patch
+ vtk-system.patch.
- Update filelist to incorporate new files installed by upstream.
- Use system hdf5 and netcdf on all openSUSE versions.
- Build on openSUSE > 13.2 with system libraries ON (except
for libproj4); all required depndencies for this purpose are
now in Factory.
- Add rpmlintrc file to suppress
"devel-files-in-non-devel-package" warning; python-vtk needs
these devel files for its own functioning.
-------------------------------------------------------------------
Thu Feb 26 12:30:11 UTC 2015 - dkxls23@gmail.com
- Add MPI support
-------------------------------------------------------------------
Thu Sep 11 01:52:56 UTC 2014 - badshah400@gmail.com
- Add vtk-Mesa10.3-build-failures.patch to workaround build
failures when compiling against Mesa >= 10.3; patch taken from
upstream git and rebased; applied only for openSUSE >= 13.2.
-------------------------------------------------------------------
Fri Jan 24 20:44:24 UTC 2014 - badshah400@gmail.com
- Update to version 6.1.0:
+ See http://www.kitware.com/news/home/browse/502 for a list of
changes
- Rebase patches:
+ vtk-system.patch
+ vtk-install-missing-modules.patch
- Packaging changes:
+ Re-enable R bindings for 13.1 and above
+ Turn off building test modules for now as it leads to build
issues (DBUILD_TESTING:BOOL=OFF)
+ Turn off usage of system libraries for now
(DVTK_USE_SYSTEM_LIBRARIES:BOOL=OFF), as usage of system
libraries now introduces dependency on json-cpp which is not
available for openSUSE (yet)
+ Python modules are now installed by vtk's cmake script;
hence, pass system python dirs to cmake by using cmake
variable DVTK_INSTALL_PYTHON_MODULE_DIR instead of
DVTK_PYTHON_SETUP_ARGS used previously
+ vtkpython is now installed by cmake script automatically;
hence remove the manual copying to /usr/bin used earlier
+ Python libraries are now stripped automatically on install;
chrpath no longer needed on these
+ Python object files are now installed in
%python_sitearch
+ Skip examples no longer installed as a result of test modules
being turned off
+ Install new binaries (mkg3states) and bundled data files
(/usr/share/vtk-6.1)
+ Cleanup spec file:
- Remove support for EOL openSUSE versions (12.1 and earlier)
by dropping appropriate conditionals
- Fix minor formatting issues.
-------------------------------------------------------------------
Fri Jul 19 02:52:28 UTC 2013 - badshah400@gmail.com
- Disable R bindings for Factory, since it causes weird build
failures in openSUSE:Factory, (strangely no failures in devel
project) until the reason behind the failure is found and fixed.
-------------------------------------------------------------------
Fri Jun 28 13:41:09 UTC 2013 - badshah400@gmail.com
- Update to version 6.0.0:
+ Lengthy list of changes, see
http://www.kitware.com/blog/home/post/515 for a summary
- Also build R language bindings, introduces dependency on R-base
- Drop patches for already being incorporated upstream:
+ vtk-pythondestdir.patch
+ vtk-sqldatabaseschema.patch
+ vtk-soversion2.patch
- Rebase patches for updated version:
+ vtk-fix-file-contains-date-time.patch
+ vtk-system.patch
- Add vtk-install-missing-modules.patch to install cmake modules
missed by the upstream packaging, will be required esp. when
we will be able to use the system installed vtk to build
paraview in the future; patch taken from Fedora
- Remove unused cmake variables during configuration
- Install all examples (several more added in current version)
- Install vtk.conf file in /etc/ld.so.conf.d to enable vtk find
its libraries
- Testing binaries are no longer installed separately.
-------------------------------------------------------------------
Fri Oct 26 14:04:41 UTC 2012 - badshah400@gmail.com
- Update to version 5.10.1:
+ Fix netCDF symbol mangling, which allows applications to use
an external netCDF library and VTK's internal copy
simultaneously
+ Fixes for STL and SLC readers that prevent crashes and file
handle resource exhaustion
+ Fix compilation on FreeBSD operating system
+ A handful of fixes in VTK's Qt interface kit
+ Fixes for interpreted language wrapping including a bug which
prevented java wrapping of VTK on power PC macs, and
compatibility with Tcl 8.6
- Add vtk-fix-file-contains-date-time.patch to fix rpmlint
warning about a packaged file containing DATE and TIME.
-------------------------------------------------------------------
Mon Jun 25 20:46:30 UTC 2012 - scorot@free.fr
- build python-qt and java binding for openSUSE version higher than
11.2 which fixes build on SLE 11
-------------------------------------------------------------------
Fri May 18 21:20:14 UTC 2012 - badshah400@gmail.com
- Update to version 5.10.0: See
http://www.kitware.com/news/home/browse/408
for a detailed list of changes
- Dropped patches:
+ vtk-boost149.patch: implemented upstream
- Patch vtk-sqldatabaseschema.patch now only required for
openSUSE 11.4
- Minor rebasing of existing patches so they apply cleanly
- No longer use verbose make.
-------------------------------------------------------------------
Thu May 10 11:32:21 UTC 2012 - idonmez@suse.com
- Remove openmotif dependency
-------------------------------------------------------------------
Sun Apr 22 15:11:53 UTC 2012 - asterios.dramis@gmail.com
- Use the gl2ps and hdf5 system libraries for building in openSUSE > 12.1.
- Updated Mesa and XOrg dependencies for openSUSE > 12.1.
- Removed the following dependencies which are not needed:
MesaGLw-devel, freeglut-devel, gcc-java, libgcj-devel and sqlite3-devel.
- Removed postgresql-devel dependency (wasn't enabled and fails to compile
anyway - added a note about it).
- Removed build time references so build-compare can do its work.
- Compile the package out-of-source.
- Use the generic "VTK_USE_SYSTEM_LIBRARIES" cmake variable for enabling the
use of system libraries instead of doing it with a per package variable.
-------------------------------------------------------------------
Sun Apr 8 11:22:34 UTC 2012 - idonmez@suse.com
- Fix compilation with boost 1.49 and enable boost again
-------------------------------------------------------------------
Tue Mar 27 14:15:13 UTC 2012 - toddrme2178@gmail.com
- Cleaned up spec file formatting
- Build and package python-qt (python-sip) bindings
- Link libraries to library directory instead of moving them to
avoid breaking the find vtk cmake macro
- Force enable of various additional optional components
- Removed redundant packages (readme and logo) from backends
- Make the devel package depend on the backends, since it does not
work properly without them
- Disable boost building on factory due to an icompatibility with
boosswt 1.4.9+. See http://vtk.org/Bug/view.php?id=12988
-------------------------------------------------------------------
Thu Feb 2 12:39:13 UTC 2012 - toddrme2178@gmail.com
- Reverted the source file change since it didn't work
- Changed the license text a little
-------------------------------------------------------------------
Wed Feb 1 12:05:32 UTC 2012 - toddrme2178@gmail.com
- Switched to approved license text (fix for RPMLINT warning)
- Escaped some macros in comments (fix for RPMLINT warnings)
- Made the source file a tiny bit easier to use
-------------------------------------------------------------------
Wed Oct 12 22:12:40 UTC 2011 - prusnak@opensuse.org
- updated to 5.8.0
- removed patches:
* vtk-Balloon-Representation.patch (applied in upstream)
* vtk-gcc43.patch (applied in upstream)
* vtk-gcc46.patch (applied in upstream)
* vtk-libpng14.patch (applied in upstream)
* vtk-python27-compat.patch (applied in upstream)
* vtk-soversion.patch (applied in upstream)
* vtk-string-length.patch (not needed anymore)
* vtk-testcxxjavaremove.patch (applied in upstream)
-------------------------------------------------------------------
Sat May 28 17:35:51 UTC 2011 - badshah400@gmail.com
- Add explicit libQtWebKit-devel BuildRequires to fix build
failures on openSUSE 11.3
- Make description of sub-package vtk-qt more detailed
- Spec file clean up
-------------------------------------------------------------------
Sat May 28 07:49:50 UTC 2011 - alinm.elena@gmail.com
- fix the missing soname for libVTKnetcdf_cxx
-------------------------------------------------------------------
Sun May 22 17:02:27 UTC 2011 - stecue@gmail.com
- Fix the broken vtk-qt package
-------------------------------------------------------------------
Thu Apr 14 19:59:13 UTC 2011 - badshah400@gmail.com
- Fix dependencies for openSUSE 11.2 and SLE 11
- Fix build problems with openSUSE 11.4
-------------------------------------------------------------------
Thu Apr 14 16:54:15 UTC 2011 - badshah400@gmail.com
- Restored vtk-string-length.patch to solve buffer overflow errors
during string copy operations
-------------------------------------------------------------------
Wed Mar 30 03:42:15 UTC 2011 - badshah400@gmail.com
- Added vtk-sqldatabaseschema.patch (from upstream) to fix
compilation errors with python enabled
-------------------------------------------------------------------
Wed Mar 23 18:21:30 UTC 2011 - badshah400@gmail.com
- Update to version 5.6.1, rebase existing patches and remove
unnecessary ones
-------------------------------------------------------------------
Wed Mar 23 11:01:06 UTC 2011 - badshah400@gmail.com
- Add vtk-python2.7-compat.patch to fix build problems with
python 2.7
- Add vtk-gcc4.3.patch to fix building issues with gcc 4.3
------------------------------------------------------------------
Thu Mar 25 11:50:35 CET 2010 - boris@steki.net
- Extended buffer size in VTK/Utilities/kwsys/SystemInformation.cxx
to fix buffer overflow report from rpmlint

View File

@ -1,488 +0,0 @@
#
# spec file for package vtk-openmpi
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define compat_gl 0
%define pkgname vtk
%define vtklib lib%{pkgname}1-openmpi
%define shlib %{vtklib}
%if 0%{?sle_version} <= 150000
%define mpiver openmpi2
%else
%define mpiver openmpi3
%endif
%define mpiprefix %{_libdir}/mpi/gcc/%{mpiver}
Name: vtk-openmpi
Version: 8.1.2
Release: 0
%define series 8.1
# 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
Summary: The Visualization Toolkit - A high level 3D visualization library
License: BSD-3-Clause
Group: Productivity/Scientific/Other
URL: http://vtk.org/
Source: http://www.vtk.org/files/release/%{series}/VTK-%{version}.tar.gz
# FIXME See if packaging can be tweaked to accommodate python-vtk's devel files in a devel package later
# We need to use the compat conditionals here to avoid Factory's source validator from tripping up
Source1: vtk-rpmlintrc
# PATCH-FIX-UPSTREAM vtk-fix-file-contains-date-time.patch badshah400@gmail.com -- Fix file containing DATE and TIME
Patch1: vtk-fix-file-contains-date-time.patch
# PATCH-FIX-OPENSUSE 0001-Allow-compilation-on-GLES-platforms.patch VTK issue #17113 stefan.bruens@rwth-aachen.de -- Fix building with Qt GLES builds
Patch3: 0001-Allow-compilation-on-GLES-platforms.patch
# PATCH-FIX-UPSTREAM fix_qt5_example_cmake.patch -- Fix for recent Qt5 version https://gitlab.kitware.com/vtk/vtk/issues/17336
Patch4: fix_qt5_example_cmake.patch
BuildRequires: %{mpiver}
BuildRequires: %{mpiver}-devel
BuildRequires: R-base-devel
BuildRequires: chrpath
BuildRequires: cmake >= 3.4
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: gl2ps-devel
BuildRequires: gnuplot
BuildRequires: graphviz
BuildRequires: hdf5-devel
BuildRequires: hdf5-openmpi-devel
BuildRequires: java-devel
BuildRequires: libjpeg-devel
BuildRequires: libmysqlclient-devel
BuildRequires: libnetcdf_c++-devel
BuildRequires: libtiff-devel
BuildRequires: python3-devel
BuildRequires: python3-mpi4py-devel
BuildRequires: python3-numpy-devel
BuildRequires: python3-qt5-devel
BuildRequires: wget
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5OpenGL)
BuildRequires: pkgconfig(Qt5OpenGLExtensions)
BuildRequires: pkgconfig(Qt5Sql)
BuildRequires: pkgconfig(Qt5WebKitWidgets)
BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(jsoncpp)
BuildRequires: pkgconfig(libavcodec)
BuildRequires: pkgconfig(libavdevice)
BuildRequires: pkgconfig(libavformat)
BuildRequires: pkgconfig(libavutil)
BuildRequires: pkgconfig(libiodbc)
BuildRequires: pkgconfig(liblz4) >= 1.7.3
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libswscale)
BuildRequires: pkgconfig(netcdf)
BuildRequires: pkgconfig(tcl)
BuildRequires: pkgconfig(theora)
BuildRequires: pkgconfig(tk)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xt)
BuildRequires: pkgconfig(zlib)
%if 0%{?suse_version} >= 1500
BuildRequires: libboost_graph-devel
BuildRequires: libboost_graph_parallel-devel
BuildRequires: libboost_mpi-devel
BuildRequires: libboost_serialization-devel
%else
BuildRequires: boost-devel
%endif
Provides: python3-%{name}-qt = %{version}
%if %{?sles_version}
BuildRequires: libxml2-devel
%else
BuildRequires: pkgconfig(libxml-2.0)
%endif
%description
VTK is a software system for image processing, 3D graphics, volume
rendering and visualization. VTK includes many advanced algorithms
(e.g. surface reconstruction, implicit modelling, decimation) and
rendering techniques (e.g. hardware-accelerated volume rendering,
LOD control).
%package -n %{shlib}
Summary: The Visualization Toolkit - A high level 3D visualization library
Group: System/Libraries
Provides: %{name} = %{version}
%description -n %{shlib}
VTK is a software system for image processing, 3D graphics, volume
rendering and visualization. VTK includes many advanced algorithms
(e.g. surface reconstruction, implicit modelling, decimation) and
rendering techniques (e.g. hardware-accelerated volume rendering,
LOD control).
This package provides the shared libraries for VTK.
%package devel
Summary: VTK header files for building C++ code
Group: Development/Libraries/C and C++
# not strictly necessary, but required by VTKs cmake files
Requires: %{mpiver}
Requires: %{mpiver}-devel
Requires: %{name}-java = %{version}
Requires: %{name}-tcl = %{version}
Requires: %{shlib} = %{version}
Requires: python3-%{name} = %{version}
Requires: R-base-devel
Requires: cmake >= 3.4
Requires: gcc-c++
Requires: gl2ps-devel
Requires: gnuplot
Requires: graphviz
Requires: hdf5-devel
Requires: hdf5-openmpi-devel
Requires: java-devel
Requires: libjpeg-devel
Requires: libmysqlclient-devel
Requires: libnetcdf_c++-devel
Requires: libtiff-devel
Requires: pkgconfig(Qt5Core)
Requires: pkgconfig(Qt5OpenGL)
Requires: pkgconfig(Qt5OpenGLExtensions)
Requires: pkgconfig(Qt5Sql)
Requires: pkgconfig(Qt5WebKitWidgets)
Requires: pkgconfig(Qt5Widgets)
Requires: pkgconfig(expat)
Requires: pkgconfig(freetype2)
Requires: pkgconfig(gl)
Requires: pkgconfig(jsoncpp)
Requires: pkgconfig(libavcodec)
Requires: pkgconfig(libavdevice)
Requires: pkgconfig(libavformat)
Requires: pkgconfig(libavutil)
Requires: pkgconfig(libiodbc)
Requires: pkgconfig(liblz4) >= 1.7.3
Requires: pkgconfig(libpng)
Requires: pkgconfig(libswscale)
Requires: pkgconfig(netcdf)
Requires: pkgconfig(tcl)
Requires: pkgconfig(theora)
Requires: pkgconfig(tk)
Requires: pkgconfig(x11)
Requires: pkgconfig(xt)
Requires: pkgconfig(zlib)
%description devel
VTK is a software system for image processing, 3D graphics, volume
rendering and visualization. VTK includes many advanced algorithms
(e.g. surface reconstruction, implicit modelling, decimation) and
rendering techniques (e.g. hardware-accelerated volume rendering,
LOD control).
This provides development libraries and header files required to
compile C++ programs that use VTK to do 3D visualisation.
%package devel-doc
Summary: VTK API documentation
Group: Documentation/HTML
%description devel-doc
VTK is a software system for image processing, 3D graphics, volume
rendering and visualization. VTK includes many advanced algorithms
(e.g. surface reconstruction, implicit modelling, decimation) and
rendering techniques (e.g. hardware-accelerated volume rendering,
LOD control).
This provides the VTK API documentation useful for developing
programs that use VTK to do 3D visualisation.
%package java
Summary: Java bindings for VTK
Group: Development/Libraries/Java
Requires: %{shlib} = %{version}
%description java
VTK is a software system for image processing, 3D graphics, volume
rendering and visualization. VTK includes many advanced algorithms
(e.g. surface reconstruction, implicit modelling, decimation) and
rendering techniques (e.g. hardware-accelerated volume rendering,
LOD control).
This package provides java bindings for VTK.
%package -n python3-%{name}
Summary: Python bindings for VTK
Group: Development/Libraries/Python
Requires: %{shlib} = %{version}
Requires: python3-mpi4py
Requires: python3-numpy
Requires: python3-qt5
Conflicts: python3-vtk
Conflicts: python3-vtk-compat_gl
%description -n python3-%{name}
VTK is a software system for image processing, 3D graphics, volume
rendering and visualization. VTK includes many advanced algorithms
(e.g. surface reconstruction, implicit modelling, decimation) and
rendering techniques (e.g. hardware-accelerated volume rendering,
LOD control).
This package provides python 3.x bindings for VTK.
%package qt
Summary: Qt Designer plugin for QVTKWidget
Group: Development/Libraries/C and C++
Requires: %{shlib} = %{version}
%description qt
VTK is a software system for image processing, 3D graphics, volume
rendering and visualization. VTK includes many advanced algorithms
(e.g. surface reconstruction, implicit modelling, decimation) and
rendering techniques (e.g. hardware-accelerated volume rendering,
LOD control).
This package provides a Qt Designer plugin for the QVTKWidget.
%package tcl
Summary: Tcl bindings for VTK
Group: Development/Languages/Tcl
Requires: %{shlib} = %{version}
%description tcl
VTK is a software system for image processing, 3D graphics, volume
rendering and visualization. VTK includes many advanced algorithms
(e.g. surface reconstruction, implicit modelling, decimation) and
rendering techniques (e.g. hardware-accelerated volume rendering,
LOD control).
This package provides tcl bindings for VTK.
%package examples
Summary: Examples for VTK
Group: Documentation/Other
Requires: %{shlib} = %{version}
Recommends: vtkdata = %{version}
%description examples
VTK is a software system for image processing, 3D graphics, volume
rendering and visualization. VTK includes many advanced algorithms
(e.g. surface reconstruction, implicit modelling, decimation) and
rendering techniques (e.g. hardware-accelerated volume rendering,
LOD control).
This package contains many examples showing how to use VTK.
Examples are available in the C++, Tcl, Python and Java programming
languages.
%prep
%setup -q -n VTK-%{version}
%patch1 -p1
%patch3 -p1
%patch4 -p1
# Replace relative path ../../../../VTKData with %%{_datadir}/vtkdata
# otherwise it will break on symlinks.
grep -rl '\.\./\.\./\.\./\.\./VTKData' . | xargs -r perl -pi -e's,\.\./\.\./\.\./\.\./VTKData,%{_datadir}/vtkdata,g'
%build
source %{mpiprefix}/bin/mpivars.sh
export CFLAGS="%{optflags}"
export CXXFLAGS="%{optflags}"
# FindJava.cmake looks for javah executable. However,
# the build never invokes the tool. Define a bogus
# Java_JAVAH_EXECUTABLE in order to be able to build
# with JDK10 that does not have this tool, deprecated
# since JDK8.
%cmake \
-DBUILD_DOCUMENTATION:BOOL=ON \
-DBUILD_EXAMPLES:BOOL=ON \
-DBUILD_TESTING:BOOL=OFF \
-DCMAKE_C_COMPILER:PATH=%{mpiprefix}/bin/mpicc \
-DCMAKE_CXX_COMPILER::PATH=%{mpiprefix}/bin/mpicxx \
-DCMAKE_NO_BUILTIN_CHRPATH:BOOL=ON \
-DJava_JAVAH_EXECUTABLE:PATH=%{_bindir}/true \
-DModule_vtkTestingCore:BOOL=ON \
-DModule_vtkTestingRendering:BOOL=ON \
-DOpenGL_GL_PREFERENCE:STRING='GLVND' \
-DVTK_CUSTOM_LIBRARY_SUFFIX="" \
-DVTK_EXTERNAL_LIBHARU_IS_SHARED:BOOL=OFF \
-DVTK_Group_Imaging:BOOL=ON \
-DVTK_Group_MPI: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 \
-DVTK_INSTALL_ARCHIVE_DIR:PATH=%{_lib} \
-DVTK_INSTALL_LIBRARY_DIR:PATH=%{_lib} \
-DVTK_INSTALL_PACKAGE_DIR:PATH=%{_lib}/cmake/%{pkgname} \
-DVTK_INSTALL_QT_DIR:STRING=%{_lib}/qt5/plugins/designer \
-DVTK_INSTALL_PYTHON_MODULE_DIR:PATH=%( realpath --relative-to=%{mpiprefix} %{python3_sitearch} ) \
-DVTK_INSTALL_TCL_DIR:PATH=share/tcl/%{pkgname} \
-DVTK_PYTHON_VERSION=3 \
-DVTK_QT_VERSION=5 \
-DVTK_USE_OGGTHEORA_ENCODER:BOOL=ON \
-DVTK_USE_SYSTEM_LIBRARIES:BOOL=ON \
-DVTK_USE_SYSTEM_DIY2=OFF \
-DVTK_USE_SYSTEM_GL2PS=OFF \
-DVTK_USE_SYSTEM_HDF5:BOOL=ON \
-DVTK_USE_SYSTEM_LIBHARU:BOOL=OFF \
-DVTK_USE_SYSTEM_LIBPROJ4:BOOL=OFF \
-DVTK_USE_SYSTEM_MPI4PY=ON \
-DVTK_USE_SYSTEM_NETCDF:BOOL=ON \
-DVTK_WRAP_JAVA:BOOL=ON \
-DVTK_WRAP_PYTHON:BOOL=ON \
-DVTK_WRAP_PYTHON_SIP:BOOL=ON \
-DVTK_WRAP_TCL:BOOL=ON \
-DCMAKE_INSTALL_PREFIX:PATH=%{mpiprefix}/ \
-DINCLUDE_INSTALL_DIR:PATH=%{mpiprefix}/include/ \
-DCMAKE_INSTALL_LIBDIR:PATH=%{mpiprefix}/%{_lib} \
-DLIB_INSTALL_DIR:PATH=%{mpiprefix}/%{_lib} \
-DSHARE_INSTALL_PREFIX:PATH=%{mpiprefix}/share/ \
-DVTK_INSTALL_DOC_DIR:PATH=%( realpath --relative-to=%{mpiprefix} %{_docdir}/%{name}-%{series} )
%make_jobs
make %{?_smp_mflags} DoxygenDoc
# Remove executable bits from sources (some of which are generated)
find . -name \*.c -o -name \*.cxx -o -name \*.h -o -name \*.hxx -o -name \*.gif -exec chmod -x "{}" "+"
%install
%cmake_install
# List of executable examples
cat > examples.list << EOF
AmbientSpheres
Arrays
BalloonWidget
BandedContours
Cone
Cone2
Cone3
Cone4
Cone5
Cone6
Cube
Cylinder
Delaunay3D
Delaunay3DAlpha
DiffuseSpheres
DumpXMLFile
FilledContours
FixedPointVolumeRayCastMapperCT
GPURenderDemo
Generate2DAMRDataSetWithPulse
Generate3DAMRDataSetWithPulse
GenerateCubesFromLabels
GenerateModelsFromLabels
HierarchicalBoxPipeline
ImageSlicing
LabeledMesh
Medical1
Medical2
Medical3
Medical4
MultiBlock
ParticleReader
RGrid
SGrid
Slider
Slider2D
SpecularSpheres
TubesWithVaryingRadiusAndColors
finance
EOF
# Install examples
for file in `cat examples.list`; do
install -p build/bin/$file %{buildroot}%{mpiprefix}/bin
done
perl -pi -e's,^,%{mpiprefix}/bin/,' examples.list
%fdupes -s %{buildroot}
%check
# Make sure the python library is at least importable
source %{_libdir}/mpi/gcc/%{mpiver}/bin/mpivars.sh
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%{buildroot}%{mpiprefix}/%{_lib}
export PYTHONPATH=%{buildroot}%{python3_sitearch}
python3 -c "import vtk"
%post -n %{shlib} -p /sbin/ldconfig
%postun -n %{shlib} -p /sbin/ldconfig
%post -n python3-%{name} -p /sbin/ldconfig
%postun -n python3-%{name} -p /sbin/ldconfig
%files -n %{shlib}
%license Copyright.txt
%{_libdir}/mpi/gcc/%{mpiver}/%{_lib}/lib*.so.*
%files devel
%license Copyright.txt
%{mpiprefix}/bin/%{pkgname}EncodeString
%{mpiprefix}/bin/%{pkgname}HashSource
%{mpiprefix}/bin/%{pkgname}ParseJava
%{mpiprefix}/bin/%{pkgname}WrapHierarchy
%{mpiprefix}/bin/%{pkgname}WrapJava
%{mpiprefix}/bin/%{pkgname}WrapPython
%{mpiprefix}/bin/%{pkgname}WrapPythonInit
%{mpiprefix}/bin/%{pkgname}WrapTcl
%{mpiprefix}/bin/%{pkgname}WrapTclInit
%{mpiprefix}/%{_lib}/*.so
%dir %{mpiprefix}/%{_lib}/cmake/
%{mpiprefix}/%{_lib}/cmake/%{pkgname}/
%{mpiprefix}/%{_lib}/libvtkWrappingTools.a
%{mpiprefix}/include/%{pkgname}-%{series}/
# VTK JNI bindings
%exclude %{mpiprefix}/%{_lib}/libvtk*Java.so
%exclude %{mpiprefix}/%{_lib}/libvtkRenderingPythonTkWidgets*.so
%exclude %{mpiprefix}/share/tcl/vtk/vtktcl.c
%files devel-doc
%license Copyright.txt
%{_docdir}/%{name}-%{series}
%files java
%license Copyright.txt
%{mpiprefix}/%{_lib}/%{pkgname}.jar
%{mpiprefix}/%{_lib}/libvtk*Java.so
%files -n python3-%{name}
%license Copyright.txt
%{mpiprefix}/bin/%{pkgname}python
%{mpiprefix}/bin/p%{pkgname}python
%{mpiprefix}/%{_lib}/libvtkRenderingPythonTkWidgets*.so
%{python3_sitearch}/%{pkgname}/
%files tcl
%license Copyright.txt
%{mpiprefix}/bin/%{pkgname}
%{mpiprefix}/bin/p%{pkgname}
%{mpiprefix}/share/tcl
%{mpiprefix}/share/tcl/%{pkgname}/
%files qt
%license Copyright.txt
%dir %{mpiprefix}/%{_lib}/qt5/
%dir %{mpiprefix}/%{_lib}/qt5/plugins/
%dir %{mpiprefix}/%{_lib}/qt5/plugins/designer/
%{mpiprefix}/%{_lib}/qt5/plugins/designer/libQVTKWidgetPlugin.so
%files examples -f examples.list
%license Copyright.txt
%changelog

View File

@ -1,3 +1,19 @@
-------------------------------------------------------------------
Wed Jan 2 23:19:48 UTC 2019 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Add openmpi2 flavor
- BuildRequire netcdf-{mpi_flavor}-devel for MPI flavors
- Add Conflicts between flavors of python3 subpackage (all flavors
install into python_sitearch).
-------------------------------------------------------------------
Fri Dec 14 23:15:27 UTC 2018 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Convert openmpi package to multibuild flavor
- Use correct mpi version - openmpi currently means openmpi, and not openmpi2/3
Otherwise, VTK depends on openmpi1 (HDF5, netcdf) and openmpi2/3 (direct)
- Remove several mpi BuildRequires in serial flavor
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Dec 12 19:32:47 UTC 2018 - Stefan Brüns <stefan.bruens@rwth-aachen.de> Wed Dec 12 19:32:47 UTC 2018 - Stefan Brüns <stefan.bruens@rwth-aachen.de>

177
vtk.spec
View File

@ -1,7 +1,7 @@
# #
# spec file for package vtk # spec file for package vtk
# #
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -16,12 +16,44 @@
# #
%define compat_gl 0 %global flavor @BUILD_FLAVOR@%{nil}
%define pkgname vtk %define pkgname vtk
%define vtklib lib%{pkgname}1
%if "%{flavor}" == ""
%define my_prefix %_prefix
%define my_bindir %_bindir
%define my_libdir %_libdir
%define my_incdir %_includedir
%define my_datadir %_datadir
%endif
%if "%{flavor}" == "openmpi"
%define suffix -openmpi
%define mpi_flavor openmpi
%define mpiprefix %{_libdir}/mpi/gcc/%{mpi_flavor}
%endif
%if "%{flavor}" == "openmpi2"
%define suffix -openmpi2
%define mpi_flavor openmpi2
%define mpiprefix %{_libdir}/mpi/gcc/%{mpi_flavor}
%endif
%{?mpi_flavor:%{bcond_without mpi}}%{!?mpi_flavor:%{bcond_with mpi}}
%if %{with mpi}
%define my_prefix %{mpiprefix}
%define my_bindir %{my_prefix}/bin
%define my_libdir %{my_prefix}/%{_lib}/
%define my_incdir %{my_prefix}/include/
%define my_datadir %{my_prefix}/share/
%endif
%define vtklib lib%{pkgname}1%{?suffix}
%define shlib %{vtklib} %define shlib %{vtklib}
Name: vtk Name: vtk%{?suffix}
Version: 8.1.2 Version: 8.1.2
Release: 0 Release: 0
%define series 8.1 %define series 8.1
@ -51,14 +83,22 @@ BuildRequires: gcc-c++
BuildRequires: gl2ps-devel BuildRequires: gl2ps-devel
BuildRequires: gnuplot BuildRequires: gnuplot
BuildRequires: graphviz BuildRequires: graphviz
%if %{with mpi}
BuildRequires: hdf5-%{mpi_flavor}-devel
%endif
BuildRequires: hdf5-devel BuildRequires: hdf5-devel
BuildRequires: java-devel BuildRequires: java-devel
BuildRequires: libjpeg-devel BuildRequires: libjpeg-devel
BuildRequires: libmysqlclient-devel BuildRequires: libmysqlclient-devel
BuildRequires: libnetcdf_c++-devel BuildRequires: libnetcdf_c++-devel
BuildRequires: libtiff-devel BuildRequires: libtiff-devel
%if %{with mpi}
BuildRequires: %{mpi_flavor}-devel
%endif
BuildRequires: python3-devel BuildRequires: python3-devel
%if %{with mpi}
BuildRequires: python3-mpi4py-devel BuildRequires: python3-mpi4py-devel
%endif
BuildRequires: python3-numpy-devel BuildRequires: python3-numpy-devel
BuildRequires: python3-qt5-devel BuildRequires: python3-qt5-devel
BuildRequires: wget BuildRequires: wget
@ -72,15 +112,24 @@ BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(jsoncpp) BuildRequires: pkgconfig(jsoncpp)
%if 0%{?suse_version} < 1500
# libav pulls in a conflicting libnetcdf version
BuildConflicts: libnetcdf7
BuildConflicts: libavfilter6
%else
BuildRequires: pkgconfig(libavcodec) BuildRequires: pkgconfig(libavcodec)
BuildRequires: pkgconfig(libavdevice) BuildRequires: pkgconfig(libavdevice)
BuildRequires: pkgconfig(libavformat) BuildRequires: pkgconfig(libavformat)
BuildRequires: pkgconfig(libavutil) BuildRequires: pkgconfig(libavutil)
%endif
BuildRequires: pkgconfig(libiodbc) BuildRequires: pkgconfig(libiodbc)
BuildRequires: pkgconfig(liblz4) >= 1.7.3 BuildRequires: pkgconfig(liblz4) >= 1.7.3
BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libswscale) BuildRequires: pkgconfig(libswscale)
BuildRequires: pkgconfig(netcdf) BuildRequires: pkgconfig(netcdf)
%if %{with mpi}
BuildRequires: netcdf-%{mpi_flavor}-devel
%endif
BuildRequires: pkgconfig(tcl) BuildRequires: pkgconfig(tcl)
BuildRequires: pkgconfig(theora) BuildRequires: pkgconfig(theora)
BuildRequires: pkgconfig(tk) BuildRequires: pkgconfig(tk)
@ -90,12 +139,13 @@ BuildRequires: pkgconfig(zlib)
%if 0%{?suse_version} >= 1500 %if 0%{?suse_version} >= 1500
BuildRequires: libboost_graph-devel BuildRequires: libboost_graph-devel
BuildRequires: libboost_graph_parallel-devel BuildRequires: libboost_graph_parallel-devel
%if %{with mpi}
BuildRequires: libboost_mpi-devel BuildRequires: libboost_mpi-devel
%endif
BuildRequires: libboost_serialization-devel BuildRequires: libboost_serialization-devel
%else %else
BuildRequires: boost-devel BuildRequires: boost-devel
%endif %endif
Provides: python3-%{name}-qt = %{version}
%if %{?sles_version} %if %{?sles_version}
BuildRequires: libxml2-devel BuildRequires: libxml2-devel
%else %else
@ -126,12 +176,11 @@ This package provides the shared libraries for VTK.
%package devel %package devel
Summary: VTK header files for building C++ code Summary: VTK header files for building C++ code
Group: Development/Libraries/C and C++
# not strictly necessary, but required by VTKs cmake files # not strictly necessary, but required by VTKs cmake files
Group: Development/Libraries/C and C++
Requires: %{name}-java = %{version} Requires: %{name}-java = %{version}
Requires: %{name}-tcl = %{version} Requires: %{name}-tcl = %{version}
Requires: %{shlib} = %{version} Requires: %{shlib} = %{version}
Requires: python3-%{name} = %{version}
Requires: R-base-devel Requires: R-base-devel
Requires: cmake >= 3.4 Requires: cmake >= 3.4
Requires: gcc-c++ Requires: gcc-c++
@ -139,11 +188,16 @@ Requires: gl2ps-devel
Requires: gnuplot Requires: gnuplot
Requires: graphviz Requires: graphviz
Requires: hdf5-devel Requires: hdf5-devel
%{?with_mpi:Requires: hdf5-%{mpi_flavor}-devel}
Requires: java-devel Requires: java-devel
Requires: libjpeg-devel Requires: libjpeg-devel
Requires: libmysqlclient-devel Requires: libmysqlclient-devel
Requires: libnetcdf_c++-devel Requires: libnetcdf_c++-devel
Requires: libtiff-devel Requires: libtiff-devel
Requires: python3-%{name} = %{version}
Requires: python3-%{name} = %{version}
%{?with_mpi:Requires: %{mpi_flavor}}
%{?with_mpi:Requires: %{mpi_flavor}-devel}
Requires: pkgconfig(Qt5Core) Requires: pkgconfig(Qt5Core)
Requires: pkgconfig(Qt5OpenGL) Requires: pkgconfig(Qt5OpenGL)
Requires: pkgconfig(Qt5OpenGLExtensions) Requires: pkgconfig(Qt5OpenGLExtensions)
@ -214,10 +268,14 @@ This package provides java bindings for VTK.
Summary: Python bindings for VTK Summary: Python bindings for VTK
Group: Development/Libraries/Python Group: Development/Libraries/Python
Requires: %{shlib} = %{version} Requires: %{shlib} = %{version}
Requires: python3-mpi4py %{?with_mpi:Requires: python3-mpi4py}
Requires: python3-numpy Requires: python3-numpy
Requires: python3-qt5 Requires: python3-qt5
Conflicts: python3-vtk-compat_gl Conflicts: python3-vtk-compat_gl
%if %{with mpi}
Conflicts: python3-vtk
Provides: python3-vtk = %{version}
%endif
%description -n python3-%{name} %description -n python3-%{name}
VTK is a software system for image processing, 3D graphics, volume VTK is a software system for image processing, 3D graphics, volume
@ -258,10 +316,11 @@ LOD control).
This package provides tcl bindings for VTK. This package provides tcl bindings for VTK.
# The examples work with any VTK flavor, just package these once
%if "%{flavor}" == ""
%package examples %package examples
Summary: Examples for VTK Summary: Examples for VTK
Group: Documentation/Other Group: Documentation/Other
Requires: %{shlib} = %{version}
Recommends: vtkdata = %{version} Recommends: vtkdata = %{version}
Conflicts: vtk-compat_gl-examples Conflicts: vtk-compat_gl-examples
@ -275,7 +334,7 @@ LOD control).
This package contains many examples showing how to use VTK. This package contains many examples showing how to use VTK.
Examples are available in the C++, Tcl, Python and Java programming Examples are available in the C++, Tcl, Python and Java programming
languages. languages.
%endif
%prep %prep
%setup -q -n VTK-%{version} %setup -q -n VTK-%{version}
@ -288,6 +347,15 @@ languages.
grep -rl '\.\./\.\./\.\./\.\./VTKData' . | xargs -r perl -pi -e's,\.\./\.\./\.\./\.\./VTKData,%{_datadir}/vtkdata,g' grep -rl '\.\./\.\./\.\./\.\./VTKData' . | xargs -r perl -pi -e's,\.\./\.\./\.\./\.\./VTKData,%{_datadir}/vtkdata,g'
%build %build
%if %{with mpi}
source %{mpiprefix}/bin/mpivars.sh
export CC=mpicc
export CXX=mpicxx
%else
export CC=gcc
export CXX=g++
%endif
export CFLAGS="%{optflags}" export CFLAGS="%{optflags}"
export CXXFLAGS="%{optflags}" export CXXFLAGS="%{optflags}"
@ -300,8 +368,6 @@ export CXXFLAGS="%{optflags}"
-DBUILD_DOCUMENTATION:BOOL=ON \ -DBUILD_DOCUMENTATION:BOOL=ON \
-DBUILD_EXAMPLES:BOOL=ON \ -DBUILD_EXAMPLES:BOOL=ON \
-DBUILD_TESTING:BOOL=OFF \ -DBUILD_TESTING:BOOL=OFF \
-DCMAKE_C_COMPILER:STRING='gcc' \
-DCMAKE_CXX_COMPILER::STRING='g++' \
-DCMAKE_NO_BUILTIN_CHRPATH:BOOL=ON \ -DCMAKE_NO_BUILTIN_CHRPATH:BOOL=ON \
-DJava_JAVAH_EXECUTABLE:PATH=%{_bindir}/true \ -DJava_JAVAH_EXECUTABLE:PATH=%{_bindir}/true \
-DModule_vtkTestingCore:BOOL=ON \ -DModule_vtkTestingCore:BOOL=ON \
@ -310,17 +376,22 @@ export CXXFLAGS="%{optflags}"
-DVTK_CUSTOM_LIBRARY_SUFFIX="" \ -DVTK_CUSTOM_LIBRARY_SUFFIX="" \
-DVTK_EXTERNAL_LIBHARU_IS_SHARED:BOOL=OFF \ -DVTK_EXTERNAL_LIBHARU_IS_SHARED:BOOL=OFF \
-DVTK_Group_Imaging:BOOL=ON \ -DVTK_Group_Imaging:BOOL=ON \
%if %{with mpi}
-DVTK_Group_MPI:BOOL=ON \
%else
-DVTK_Group_MPI:BOOL=OFF \ -DVTK_Group_MPI:BOOL=OFF \
%endif
-DVTK_Group_Qt:BOOL=ON \ -DVTK_Group_Qt:BOOL=ON \
-DVTK_Group_Rendering:BOOL=ON \ -DVTK_Group_Rendering:BOOL=ON \
-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 \
-DCMAKE_INSTALL_PREFIX:PATH=%{my_prefix} \
-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/%{pkgname} \ -DVTK_INSTALL_PACKAGE_DIR:PATH=%{_lib}/cmake/%{pkgname} \
-DVTK_INSTALL_QT_DIR:STRING=%{_lib}/qt5/plugins/designer \ -DVTK_INSTALL_QT_DIR:STRING=%{_lib}/qt5/plugins/designer \
-DVTK_INSTALL_PYTHON_MODULE_DIR:PATH=%( realpath --relative-to=%{_prefix} %{python3_sitearch} ) \ -DVTK_INSTALL_PYTHON_MODULE_DIR:PATH=%{python3_sitearch} \
-DVTK_INSTALL_TCL_DIR:PATH=share/tcl/%{pkgname} \ -DVTK_INSTALL_TCL_DIR:PATH=share/tcl/%{pkgname} \
-DVTK_PYTHON_VERSION=3 \ -DVTK_PYTHON_VERSION=3 \
-DVTK_QT_VERSION=5 \ -DVTK_QT_VERSION=5 \
@ -337,7 +408,7 @@ export CXXFLAGS="%{optflags}"
-DVTK_WRAP_PYTHON:BOOL=ON \ -DVTK_WRAP_PYTHON:BOOL=ON \
-DVTK_WRAP_PYTHON_SIP:BOOL=ON \ -DVTK_WRAP_PYTHON_SIP:BOOL=ON \
-DVTK_WRAP_TCL:BOOL=ON \ -DVTK_WRAP_TCL:BOOL=ON \
-DVTK_INSTALL_DOC_DIR:PATH=%( realpath --relative-to=%{_prefix} %{_docdir}/%{name}-%{series} ) -DVTK_INSTALL_DOC_DIR:PATH=%{_docdir}/%{name}-%{series}
%make_jobs %make_jobs
make %{?_smp_mflags} DoxygenDoc make %{?_smp_mflags} DoxygenDoc
@ -392,48 +463,51 @@ finance
EOF EOF
# Install examples # Install examples
%if "%{flavor}" == ""
for file in `cat examples.list`; do for file in `cat examples.list`; do
install -p build/bin/$file %{buildroot}%{_bindir} install -p build/bin/$file %{buildroot}%{my_bindir}
done done
perl -pi -e's,^,%{_bindir}/,' examples.list perl -pi -e's,^,%{my_bindir}/,' examples.list
%endif
%fdupes -s %{buildroot} %fdupes -s %{buildroot}
%check %check
# Make sure the python library is at least importable # Make sure the python library is at least importable
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%{buildroot}%{_libdir} %if %{with mpi}
source %{mpiprefix}/bin/mpivars.sh
%endif
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%{buildroot}%{my_libdir}
export PYTHONPATH=%{buildroot}%{python3_sitearch} export PYTHONPATH=%{buildroot}%{python3_sitearch}
python3 -c "import vtk" python3 -c "import vtk"
%post -n %{shlib} -p /sbin/ldconfig %post -n %{shlib} -p /sbin/ldconfig
%postun -n %{shlib} -p /sbin/ldconfig %postun -n %{shlib} -p /sbin/ldconfig
%post -n python3-%{name} -p /sbin/ldconfig
%postun -n python3-%{name} -p /sbin/ldconfig
%files -n %{shlib} %files -n %{shlib}
%license Copyright.txt %license Copyright.txt
%{_libdir}/lib*.so.* %{my_libdir}/lib*.so.*
%files devel %files devel
%license Copyright.txt %license Copyright.txt
%{_bindir}/%{pkgname}EncodeString %{my_bindir}/%{pkgname}EncodeString
%{_bindir}/%{pkgname}HashSource %{my_bindir}/%{pkgname}HashSource
%{_bindir}/%{pkgname}ParseJava %{my_bindir}/%{pkgname}ParseJava
%{_bindir}/%{pkgname}WrapHierarchy %{my_bindir}/%{pkgname}WrapHierarchy
%{_bindir}/%{pkgname}WrapJava %{my_bindir}/%{pkgname}WrapJava
%{_bindir}/%{pkgname}WrapPython %{my_bindir}/%{pkgname}WrapPython
%{_bindir}/%{pkgname}WrapPythonInit %{my_bindir}/%{pkgname}WrapPythonInit
%{_bindir}/%{pkgname}WrapTcl %{my_bindir}/%{pkgname}WrapTcl
%{_bindir}/%{pkgname}WrapTclInit %{my_bindir}/%{pkgname}WrapTclInit
%{_libdir}/*.so %{my_libdir}/*.so
%{_libdir}/cmake/%{pkgname}/ %{?with_mpi: %dir %{my_libdir}/cmake/}
%{_libdir}/libvtkWrappingTools.a %{my_libdir}/cmake/%{pkgname}/
%{_includedir}/%{pkgname}-%{series}/ %{my_libdir}/libvtkWrappingTools.a
# VTK JNI bindings %{my_incdir}/%{pkgname}-%{series}/
%exclude %{_libdir}/libvtk*Java.so # VTK JNI, PythonTkinter, TCL bindings
%exclude %{_libdir}/libvtkRenderingPythonTkWidgets*.so %exclude %{my_libdir}/libvtk*Java.so
%exclude %{_datadir}/tcl/vtk/vtktcl.c %exclude %{my_libdir}/libvtkRenderingPythonTkWidgets*.so
%exclude %{my_datadir}/tcl/vtk/vtktcl.c
%files devel-doc %files devel-doc
%license Copyright.txt %license Copyright.txt
@ -441,26 +515,37 @@ python3 -c "import vtk"
%files java %files java
%license Copyright.txt %license Copyright.txt
%{_libdir}/%{pkgname}.jar %{my_libdir}/%{pkgname}.jar
%{_libdir}/libvtk*Java.so %{my_libdir}/libvtk*Java.so
%files -n python3-%{name} %files -n python3-%{name}
%license Copyright.txt %license Copyright.txt
%{_bindir}/%{pkgname}python %{my_bindir}/%{pkgname}python
%{_libdir}/libvtkRenderingPythonTkWidgets*.so %if %{with mpi}
%{my_bindir}/p%{pkgname}python
%endif
%{my_libdir}/libvtkRenderingPythonTkWidgets*.so
%{python3_sitearch}/%{pkgname}/ %{python3_sitearch}/%{pkgname}/
%files tcl %files tcl
%license Copyright.txt %license Copyright.txt
%{_bindir}/%{pkgname} %{my_bindir}/%{pkgname}
%{_datadir}/tcl/%{pkgname}/ %if %{with mpi}
%{my_bindir}/p%{pkgname}
%dir %{my_datadir}/tcl/
%endif
%{my_datadir}/tcl/%{pkgname}/
%files qt %files qt
%license Copyright.txt %license Copyright.txt
%dir %{_prefix}/%{_lib}/qt5/plugins/designer %{?with_mpi: %dir %{my_libdir}/qt5/}
%{_prefix}/%{_lib}/qt5/plugins/designer/libQVTKWidgetPlugin.so %{?with_mpi: %dir %{my_libdir}/qt5/plugins/}
%dir %{my_libdir}/qt5/plugins/designer/
%{my_libdir}/qt5/plugins/designer/libQVTKWidgetPlugin.so
%if "%{flavor}" == ""
%files examples -f examples.list %files examples -f examples.list
%license Copyright.txt %license Copyright.txt
%endif
%changelog %changelog