Accepting request 489183 from home:polyconvex:branches:science

As discussed in [1] I made a new package with compatibility build for the
old OpenGL interface of vtk to support machines with older graphics cards
that do not support OpenGL version 3.2 which the default build requires.

[1] https://lists.opensuse.org/opensuse-factory/2017-04/msg00121.html

Please create a link to this package with the new name after accepting this
request.

- 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


- 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

- 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).

- 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,

OBS-URL: https://build.opensuse.org/request/show/489183
OBS-URL: https://build.opensuse.org/package/show/science/vtk?expand=0&rev=81
This commit is contained in:
Atri Bhattacharya 2017-04-28 08:42:10 +00:00 committed by Git OBS Bridge
parent 11835ccf2d
commit 4809cbcd8f
7 changed files with 1071 additions and 45 deletions

5
pre_checkin.sh Normal file
View File

@ -0,0 +1,5 @@
#!/bin/sh
sed 's|%define compat_gl 0|%define compat_gl 1|' vtk.spec > vtk-compat_gl.spec
cp vtk-rpmlintrc vtk-compat_gl-rpmlintrc
cp vtk.changes vtk-compat_gl.changes

6
vtk-compat_gl-rpmlintrc Normal file
View File

@ -0,0 +1,6 @@
# FIXME: See if packaging can be tweaked to avoid these warnings later
# python-vtk needs these devel files to work
addFilter("python3-vtk* devel-file-in-non-devel-package")
# Upstream does not supply manuals for any binary, suppress warnings
addFilter(".* no-manual-page-for-binary")

387
vtk-compat_gl.changes Normal file
View File

@ -0,0 +1,387 @@
-------------------------------------------------------------------
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

554
vtk-compat_gl.spec Normal file
View File

@ -0,0 +1,554 @@
#
# spec file for package vtk-compat_gl
#
# Copyright (c) 2017 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 http://bugs.opensuse.org/
#
%define compat_gl 1
%define pkgname vtk
%if %{compat_gl}
Name: vtk-compat_gl
%else
Name: vtk
%endif
Version: 7.1.0
Release: 0
%define series 7.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
Source1: %{name}-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-UPSTREAM vtk-Rinterface-uintptr_t.patch boo#985386 badshah400@gmail.com -- Fix issues with uintptr_t redefinition by defining the HAVE_UINTPTR_T macro using cmake functions to avoid redefinition of uintptr_t, which is already defined in stdint.h called earlier; patch sent upstream
Patch2: vtk-Rinterface-uintptr_t.patch
BuildRequires: Mesa-libGL-devel
BuildRequires: R-base-devel
BuildRequires: boost-devel
BuildRequires: chrpath
BuildRequires: cmake >= 3.4
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: freetype2-devel
BuildRequires: gcc-c++
BuildRequires: gl2ps-devel
BuildRequires: gnuplot
BuildRequires: graphviz
BuildRequires: hdf5-devel
BuildRequires: java-devel
BuildRequires: libQtWebKit-devel
BuildRequires: libX11-devel
BuildRequires: libXt-devel
BuildRequires: libexpat-devel
BuildRequires: libiodbc-devel
BuildRequires: libjpeg-devel
BuildRequires: libmysqlclient-devel
BuildRequires: libnetcdf_c++-devel
BuildRequires: libpng-devel
BuildRequires: libtheora-devel
BuildRequires: libtiff-devel
BuildRequires: netcdf-devel
BuildRequires: openmpi-devel
BuildRequires: python3-devel
BuildRequires: tcl-devel
BuildRequires: tk-devel
BuildRequires: wget
BuildRequires: zlib-devel
%if 0%{?suse_version} > 1320
BuildRequires: python3-qt5-devel
BuildRequires: pkgconfig(Qt5OpenGL)
BuildRequires: pkgconfig(Qt5OpenGLExtensions)
BuildRequires: pkgconfig(Qt5Sql)
BuildRequires: pkgconfig(Qt5WebKitWidgets)
BuildRequires: pkgconfig(Qt5Widgets)
%else
BuildRequires: libqt4-devel
BuildRequires: python3-qt4-devel
%endif
%if %{?sles_version}
BuildRequires: libxml2-devel
%else
BuildRequires: pkgconfig(libxml-2.0)
%endif
# jsoncpp available for openSUSE > 13.2 & Leap
%if 0%{?suse_version} > 1320 || 0%{suse_version} == 1315
BuildRequires: jsoncpp-devel
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} > 1320
%define qtdir %{_lib}/qt5
%else
%define qtdir %{_lib}/qt4
%endif
%if %{compat_gl}
Conflicts: vtk
Provides: vtk = %{version}
%else
Conflicts: vtk-compat_gl
%endif
%description
VTK is an open-source 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 devel
Summary: VTK header files for building C++ code
Group: Development/Libraries/Other
Requires: %{name} = %{version}
Requires: %{name}-java = %{version}
Requires: %{name}-qt = %{version}
Requires: %{name}-tcl = %{version}
Requires: Mesa-libGL-devel
Requires: R-base-devel
Requires: gl2ps-devel
Requires: hdf5-devel
# jsoncpp available for openSUSE > 13.2 & Leap
%if 0%{?suse_version} > 1320 || 0%{suse_version} == 1315
Requires: jsoncpp-devel
%endif
Requires: freetype2-devel
Requires: libexpat-devel
Requires: libjpeg-devel
Requires: libmysqlclient-devel
Requires: libnetcdf_c++-devel
Requires: libogg-devel
Requires: libpng-devel
Requires: libtheora-devel
Requires: libtiff-devel
Requires: libxml2-devel
Requires: netcdf-devel
Requires: openmpi-devel
Requires: python3-%{name} = %{version}
Requires: python3-%{name}-qt = %{version}
%if %{compat_gl}
Conflicts: vtk-devel
Provides: vtk-devel
%else
Conflicts: vtk-compat_gl-devel
%endif
%description devel
VTK is an open-source 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 header files required to compile C++ programs that
use VTK to do 3D visualisation.
%package java
Summary: Java bindings for VTK
Group: Development/Libraries/Java
Requires: %{name} = %{version}
%if %{compat_gl}
Conflicts: vtk-java
Provides: vtk-java
%else
Conflicts: vtk-compat_gl-java
%endif
%description java
VTK is an open-source 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: System/Libraries
Requires: %{name} = %{version}
# DESPITE NOT BEING A DEVEL PACKAGE, THIS REQUIRES OPENMPI-DEVEL TO RUN
Requires: openmpi-devel
%if %{compat_gl}
Conflicts: python3-vtk
Provides: python3-vtk
%else
Conflicts: python3-vtk-compat_gl
%endif
%description -n python3-%{name}
VTK is an open-source 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 bindings for VTK.
%package -n python3-%{name}-qt
Summary: Qt Python VTK widget
Group: System/Libraries
Requires: %{name} = %{version}
Requires: %{name}-qt = %{version}
Requires: python3-%{name} = %{version}
%if 0%{?suse_version} > 1320
Requires: libQt5OpenGL-devel
Requires: libQt5OpenGLExtensions-devel-static
Requires: libQt5Sql-devel
Requires: libQt5WebKitWidgets-devel
Requires: libQt5Widgets-devel
Requires: python3-qt5
%else
Requires: libqt4-devel
Requires: python3-qt4
%endif
# CONFLICTS IS FOR A PKG (python-vtk) IN SCIENCE THAT IS NOT INTENDED TO BE INCLUDED IN openSUSE:FACTORY
Conflicts: python-vtk
%if %{compat_gl}
Conflicts: python3-vtk-qt
Provides: python3-vtk-qt
%else
Conflicts: python3-vtk-compat_gl-qt
%endif
%description -n python3-%{name}-qt
VTK is an open-source 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-qt bindings for VTK.
%package qt
Summary: Qt VTK widget
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}
%if %{compat_gl}
Conflicts: vtk-qt
Provides: vtk-qt
%else
Conflicts: vtk-compat_gl-qt
%endif
%description qt
VTK is an open-source 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 Qt bindings for VTK.
%package tcl
Summary: Tcl bindings for VTK
Group: System/Libraries
Requires: %{name} = %{version}
%if %{compat_gl}
Conflicts: vtk-tcl
Provides: vtk-tcl
%else
Conflicts: vtk-compat_gl-tcl
%endif
%description tcl
VTK is an open-source 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: Productivity/Scientific/Other
Requires: %{name} = %{version}
Recommends: %{name}data = %{version}
%if %{compat_gl}
Conflicts: vtk-examples
Provides: vtk-examples
%else
Conflicts: vtk-compat_gl-examples
%endif
%description examples
VTK is an open-source 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 well-commented examples showing how to use
VTK. Examples are available in the C++, Tcl, Python and Java
programming languages.
%package testing
Summary: Testing programs for VTK
Group: Productivity/Scientific/Other
Requires: %{name} = %{version}
Requires: %{name}data = %{version}
%if %{compat_gl}
Conflicts: vtk-testing
Provides: vtk-testing
%else
Conflicts: vtk-compat_gl-testing
%endif
%description testing
VTK is an open-source 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 few testing programs for VTK.
%prep
%setup -q -n VTK-%{version}
%patch1 -p1
%patch2 -p1
# Replace relative path ../../../VTKData with %%{_datadir}/%%{pkgname}data-%%{version}
# otherwise it will break on symlinks.
grep -rl '\.\./\.\./\.\./\.\./VTKData' . | xargs perl -pi -e's,\.\./\.\./\.\./\.\./VTKData,%{_datadir}/%{pkgname},g'
%build
export CFLAGS="%{optflags}"
export CXXFLAGS="%{optflags}"
mkdir build
pushd build
cmake .. \
-DCMAKE_CXX_COMPILER:STRING='mpicxx' \
-DCMAKE_C_COMPILER:STRING='mpicc' \
-DBUILD_DOCUMENTATION:BOOL=ON \
-DBUILD_EXAMPLES:BOOL=ON \
-DBUILD_SHARED_LIBS:BOOL=ON \
-DBUILD_TESTING:BOOL=OFF \
-DCMAKE_SKIP_RPATH:BOOL=ON \
-DVTK_CUSTOM_LIBRARY_SUFFIX="" \
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
-DSIP_INCLUDE_DIR:Path=%{py3_incdir} \
-DVTK_INSTALL_ARCHIVE_DIR:PATH=%{_lib}/%{pkgname} \
-DVTK_INSTALL_LIBRARY_DIR:PATH=%{_lib}/%{pkgname}\
-DVTK_INSTALL_PACKAGE_DIR:PATH=%{_lib}/cmake/%{pkgname} \
-DVTK_INSTALL_TCL_DIR:PATH=share/tcl/%{pkgname} \
%if 0%{?suse_version} > 1320
-DVTK_QT_VERSION=5 \
%endif
-DVTK_INSTALL_QT_DIR:STRING=/%{qtdir}/plugins/designer \
-DVTK_USE_OGGTHEORA_ENCODER:BOOL=ON \
-DVTK_USE_RENDERING:BOOL=ON \
%if %{compat_gl}
-DVTK_RENDERING_BACKEND:STRING='OpenGL' \
%endif
%if 0%{?suse_version} > 1320 || 0%{suse_version} == 1315
-DVTK_USE_SYSTEM_LIBRARIES:BOOL=ON \
%else
-DVTK_USE_SYSTEM_LIBRARIES:BOOL=OFF \
%endif
-DVTK_USE_SYSTEM_LIBPROJ4:BOOL=OFF \
-DVTK_INSTALL_PYTHON_MODULE_DIR:PATH=%{_lib}/python%{py3_ver}/site-packages \
-DVTK_WRAP_PYTHON:BOOL=ON \
-DVTK_WRAP_JAVA:BOOL=ON \
-DVTK_WRAP_PYTHON_SIP:BOOL=ON \
-DVTK_WRAP_TCL:BOOL=ON \
-DVTK_Group_MPI:BOOL=ON \
-DVTK_Group_Imaging:BOOL=ON \
-DVTK_Group_Qt:BOOL=ON \
-DModule_vtkTestingCore:BOOL=ON \
-DModule_vtkTestingRendering: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 \
-DVTK_WRAP_TCL:BOOL=ON \
-DVTK_USE_SYSTEM_HDF5:BOOL=ON \
-DVTK_USE_SYSTEM_NETCDF:BOOL=ON \
-DVTK_PYTHON_VERSION=3 \
-DCMAKE_NO_BUILTIN_CHRPATH:BOOL=ON \
-DVTK_USE_SYSTEM_DIY2=OFF \
-DVTK_USE_SYSTEM_GL2PS=OFF
make %{?_smp_mflags} VERBOSE=1
# Remove executable bits from sources (some of which are generated)
find . -name \*.c -or -name \*.cxx -or -name \*.h -or -name \*.hxx -or -name \*.gif | xargs chmod -x
popd
%install
pushd build
%makeinstall
# Install conf file to enable vtk to find its libraries
mkdir -p %{buildroot}/%{_sysconfdir}/ld.so.conf.d
echo %{_libdir}/%{pkgname} > %{buildroot}/%{_sysconfdir}/ld.so.conf.d/%{pkgname}.conf
# Gather list of non-binding libraries
ls %{buildroot}%{_libdir}/%{pkgname}/lib*.so.* | grep -Ev '(Java|QVTK|Qt|Python|TCL)' | sed -e's,^%{buildroot},,' > libs.list
# List of executable examples
cat > examples.list << EOF
Generate2DAMRDataSetWithPulse
Generate3DAMRDataSetWithPulse
HierarchicalBoxPipeline
ImageSlicing
DumpXMLFile
ParticleReader
GenerateCubesFromLabels
GenerateModelsFromLabels
Medical1
Medical2
Medical3
Medical4
Delaunay3D
Delaunay3DAlpha
finance
MultiBlock
BandedContours
FilledContours
TubesWithVaryingRadiusAndColors
BalloonWidget
Slider
Slider2D
LabeledMesh
Arrays
Cube
RGrid
SGrid
AmbientSpheres
Cylinder
DiffuseSpheres
SpecularSpheres
Cone
Cone2
Cone3
Cone4
Cone5
Cone6
FixedPointVolumeRayCastMapperCT
GPURenderDemo
EOF
# Install examples
for file in `cat examples.list`; do
install -p bin/$file %{buildroot}%{_bindir}
done
perl -pi -e's,^,%{_bindir}/,' examples.list
# Remove rpaths from installed binaries
chrpath -d %{buildroot}%{_bindir}/*
%fdupes -s %{buildroot}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post java -p /sbin/ldconfig
%postun java -p /sbin/ldconfig
%post -n python3-%{name} -p /sbin/ldconfig
%postun -n python3-%{name} -p /sbin/ldconfig
%post -n python3-%{name}-qt -p /sbin/ldconfig
%postun -n python3-%{name}-qt -p /sbin/ldconfig
%post qt -p /sbin/ldconfig
%postun qt -p /sbin/ldconfig
%post tcl -p /sbin/ldconfig
%postun tcl -p /sbin/ldconfig
%files -f build/libs.list
%defattr(-,root,root,-)
%config %{_sysconfdir}/ld.so.conf.d/%{pkgname}.conf
%doc Copyright.txt
%dir %{_libdir}/%{pkgname}/
%if 0%{?suse_version} <= 1320 && 0%{?suse_version} != 1315
%{_libdir}/libvtktiff.so.*
%endif
%files devel
%defattr(-,root,root,-)
%{_bindir}/%{pkgname}EncodeString
%{_bindir}/%{pkgname}HashSource
%{_bindir}/%{pkgname}WrapHierarchy
%if %{compat_gl}
%{_bindir}/%{pkgname}ParseOGLExt
%endif
%{_bindir}/pvtk
%if 0%{?suse_version} <= 1320 && 0%{?suse_version} != 1315
%{_bindir}/%{pkgname}mkg3states
%endif
%{_datadir}/doc/%{pkgname}-%{series}/
%{_libdir}/%{pkgname}/*.so
%if 0%{?suse_version} <= 1320 && 0%{?suse_version} != 1315
%{_libdir}/libvtktiff.so
%endif
%{_libdir}/cmake/%{pkgname}/
%{_libdir}/%{pkgname}/libvtkWrappingTools.a
%{_includedir}/%{pkgname}-%{series}/
%{_datadir}/tcl/vtk/vtktcl.c
%files java
%defattr(-,root,root,-)
%{_bindir}/%{pkgname}ParseJava
%{_bindir}/%{pkgname}WrapJava
%{_libdir}/%{pkgname}/%{pkgname}.jar
%{_libdir}/%{pkgname}/*Java.so.*
%files -n python3-%{name}
%defattr(-,root,root,-)
%{_bindir}/%{pkgname}python
%{_bindir}/p%{pkgname}python
%{_bindir}/%{pkgname}WrapPython
%{_bindir}/%{pkgname}WrapPythonInit
%{_libdir}/%{pkgname}/*Python*.so.*
%{python3_sitearch}/%{pkgname}/
%dir %{_libdir}/%{pkgname}/site-packages
%{_libdir}/%{pkgname}/site-packages/mpi4py/
%exclude %{_libdir}/%{pkgname}/*QtPython*.so.*
%files tcl
%defattr(-,root,root,-)
%{_bindir}/%{pkgname}
%{_bindir}/%{pkgname}WrapTcl
%{_bindir}/%{pkgname}WrapTclInit
%{_datadir}/tcl/%{pkgname}/
%{_libdir}/%{pkgname}/lib%{pkgname}*TCL.so.*
%exclude %{_libdir}/%{pkgname}/*QtTCL.so.*
%exclude %{_datadir}/tcl/vtk/vtktcl.c
%files qt
%defattr(-,root,root,-)
%{_libdir}/%{pkgname}/lib*Qt*.so.*
%dir %{_prefix}/%{qtdir}/plugins/designer
%{_prefix}/%{qtdir}/plugins/designer/libQVTKWidgetPlugin.so
%exclude %{_libdir}/%{pkgname}/*Python*.so.*
%files -n python3-%{name}-qt
%defattr(-,root,root,-)
%{_libdir}/%{pkgname}/*QtPython*.so.*
%files examples -f build/examples.list
%defattr(-,root,root,-)
%changelog

View File

@ -1,6 +1,6 @@
# FIXME: See if packaging can be tweaked to avoid these warnings later # FIXME: See if packaging can be tweaked to avoid these warnings later
# python-vtk needs these devel files to work # python-vtk needs these devel files to work
addFilter("python3-vtk.* devel-file-in-non-devel-package") addFilter("python3-vtk* devel-file-in-non-devel-package")
# Upstream does not supply manuals for any binary, suppress warnings # Upstream does not supply manuals for any binary, suppress warnings
addFilter(".* no-manual-page-for-binary") addFilter(".* no-manual-page-for-binary")

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
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 Wed Nov 23 10:28:02 UTC 2016 - badshah400@gmail.com

155
vtk.spec
View File

@ -1,7 +1,7 @@
# #
# spec file for package vtk # spec file for package vtk-compat_gl
# #
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2017 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,7 +16,14 @@
# #
%define compat_gl 0
%define pkgname vtk
%if %{compat_gl}
Name: vtk-compat_gl
%else
Name: vtk Name: vtk
%endif
Version: 7.1.0 Version: 7.1.0
Release: 0 Release: 0
%define series 7.1 %define series 7.1
@ -29,7 +36,7 @@ Group: Productivity/Scientific/Other
Url: http://vtk.org/ Url: http://vtk.org/
Source: http://www.vtk.org/files/release/%{series}/VTK-%{version}.tar.gz 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 # FIXME See if packaging can be tweaked to accommodate python-vtk's devel files in a devel package later
Source1: vtk-rpmlintrc Source1: %{name}-rpmlintrc
# PATCH-FIX-UPSTREAM vtk-fix-file-contains-date-time.patch badshah400@gmail.com -- Fix file containing DATE and TIME # 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 Patch1: vtk-fix-file-contains-date-time.patch
# PATCH-FIX-UPSTREAM vtk-Rinterface-uintptr_t.patch boo#985386 badshah400@gmail.com -- Fix issues with uintptr_t redefinition by defining the HAVE_UINTPTR_T macro using cmake functions to avoid redefinition of uintptr_t, which is already defined in stdint.h called earlier; patch sent upstream # PATCH-FIX-UPSTREAM vtk-Rinterface-uintptr_t.patch boo#985386 badshah400@gmail.com -- Fix issues with uintptr_t redefinition by defining the HAVE_UINTPTR_T macro using cmake functions to avoid redefinition of uintptr_t, which is already defined in stdint.h called earlier; patch sent upstream
@ -92,6 +99,12 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
%else %else
%define qtdir %{_lib}/qt4 %define qtdir %{_lib}/qt4
%endif %endif
%if %{compat_gl}
Conflicts: vtk
Provides: vtk = %{version}
%else
Conflicts: vtk-compat_gl
%endif
%description %description
VTK is an open-source software system for image processing, 3D VTK is an open-source software system for image processing, 3D
@ -129,6 +142,12 @@ Requires: netcdf-devel
Requires: openmpi-devel Requires: openmpi-devel
Requires: python3-%{name} = %{version} Requires: python3-%{name} = %{version}
Requires: python3-%{name}-qt = %{version} Requires: python3-%{name}-qt = %{version}
%if %{compat_gl}
Conflicts: vtk-devel
Provides: vtk-devel
%else
Conflicts: vtk-compat_gl-devel
%endif
%description devel %description devel
VTK is an open-source software system for image processing, 3D VTK is an open-source software system for image processing, 3D
@ -144,6 +163,12 @@ use VTK to do 3D visualisation.
Summary: Java bindings for VTK Summary: Java bindings for VTK
Group: Development/Libraries/Java Group: Development/Libraries/Java
Requires: %{name} = %{version} Requires: %{name} = %{version}
%if %{compat_gl}
Conflicts: vtk-java
Provides: vtk-java
%else
Conflicts: vtk-compat_gl-java
%endif
%description java %description java
VTK is an open-source software system for image processing, 3D VTK is an open-source software system for image processing, 3D
@ -160,6 +185,12 @@ Group: System/Libraries
Requires: %{name} = %{version} Requires: %{name} = %{version}
# DESPITE NOT BEING A DEVEL PACKAGE, THIS REQUIRES OPENMPI-DEVEL TO RUN # DESPITE NOT BEING A DEVEL PACKAGE, THIS REQUIRES OPENMPI-DEVEL TO RUN
Requires: openmpi-devel Requires: openmpi-devel
%if %{compat_gl}
Conflicts: python3-vtk
Provides: python3-vtk
%else
Conflicts: python3-vtk-compat_gl
%endif
%description -n python3-%{name} %description -n python3-%{name}
VTK is an open-source software system for image processing, 3D VTK is an open-source software system for image processing, 3D
@ -189,6 +220,12 @@ Requires: python3-qt4
%endif %endif
# CONFLICTS IS FOR A PKG (python-vtk) IN SCIENCE THAT IS NOT INTENDED TO BE INCLUDED IN openSUSE:FACTORY # CONFLICTS IS FOR A PKG (python-vtk) IN SCIENCE THAT IS NOT INTENDED TO BE INCLUDED IN openSUSE:FACTORY
Conflicts: python-vtk Conflicts: python-vtk
%if %{compat_gl}
Conflicts: python3-vtk-qt
Provides: python3-vtk-qt
%else
Conflicts: python3-vtk-compat_gl-qt
%endif
%description -n python3-%{name}-qt %description -n python3-%{name}-qt
VTK is an open-source software system for image processing, 3D VTK is an open-source software system for image processing, 3D
@ -203,6 +240,12 @@ This package provides python-qt bindings for VTK.
Summary: Qt VTK widget Summary: Qt VTK widget
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: %{name} = %{version} Requires: %{name} = %{version}
%if %{compat_gl}
Conflicts: vtk-qt
Provides: vtk-qt
%else
Conflicts: vtk-compat_gl-qt
%endif
%description qt %description qt
VTK is an open-source software system for image processing, 3D VTK is an open-source software system for image processing, 3D
@ -217,6 +260,12 @@ This package provides Qt bindings for VTK.
Summary: Tcl bindings for VTK Summary: Tcl bindings for VTK
Group: System/Libraries Group: System/Libraries
Requires: %{name} = %{version} Requires: %{name} = %{version}
%if %{compat_gl}
Conflicts: vtk-tcl
Provides: vtk-tcl
%else
Conflicts: vtk-compat_gl-tcl
%endif
%description tcl %description tcl
VTK is an open-source software system for image processing, 3D VTK is an open-source software system for image processing, 3D
@ -232,6 +281,12 @@ Summary: Examples for VTK
Group: Productivity/Scientific/Other Group: Productivity/Scientific/Other
Requires: %{name} = %{version} Requires: %{name} = %{version}
Recommends: %{name}data = %{version} Recommends: %{name}data = %{version}
%if %{compat_gl}
Conflicts: vtk-examples
Provides: vtk-examples
%else
Conflicts: vtk-compat_gl-examples
%endif
%description examples %description examples
VTK is an open-source software system for image processing, 3D VTK is an open-source software system for image processing, 3D
@ -249,6 +304,12 @@ Summary: Testing programs for VTK
Group: Productivity/Scientific/Other Group: Productivity/Scientific/Other
Requires: %{name} = %{version} Requires: %{name} = %{version}
Requires: %{name}data = %{version} Requires: %{name}data = %{version}
%if %{compat_gl}
Conflicts: vtk-testing
Provides: vtk-testing
%else
Conflicts: vtk-compat_gl-testing
%endif
%description testing %description testing
VTK is an open-source software system for image processing, 3D VTK is an open-source software system for image processing, 3D
@ -264,9 +325,9 @@ This package provides a few testing programs for VTK.
%patch1 -p1 %patch1 -p1
%patch2 -p1 %patch2 -p1
# Replace relative path ../../../VTKData with %%{_datadir}/%%{name}data-%%{version} # Replace relative path ../../../VTKData with %%{_datadir}/%%{pkgname}data-%%{version}
# otherwise it will break on symlinks. # otherwise it will break on symlinks.
grep -rl '\.\./\.\./\.\./\.\./VTKData' . | xargs perl -pi -e's,\.\./\.\./\.\./\.\./VTKData,%{_datadir}/%{name},g' grep -rl '\.\./\.\./\.\./\.\./VTKData' . | xargs perl -pi -e's,\.\./\.\./\.\./\.\./VTKData,%{_datadir}/%{pkgname},g'
%build %build
export CFLAGS="%{optflags}" export CFLAGS="%{optflags}"
@ -285,16 +346,19 @@ cmake .. \
-DVTK_CUSTOM_LIBRARY_SUFFIX="" \ -DVTK_CUSTOM_LIBRARY_SUFFIX="" \
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \ -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
-DSIP_INCLUDE_DIR:Path=%{py3_incdir} \ -DSIP_INCLUDE_DIR:Path=%{py3_incdir} \
-DVTK_INSTALL_ARCHIVE_DIR:PATH=%{_lib}/%{name} \ -DVTK_INSTALL_ARCHIVE_DIR:PATH=%{_lib}/%{pkgname} \
-DVTK_INSTALL_LIBRARY_DIR:PATH=%{_lib}/%{name}\ -DVTK_INSTALL_LIBRARY_DIR:PATH=%{_lib}/%{pkgname}\
-DVTK_INSTALL_PACKAGE_DIR:PATH=%{_lib}/cmake/%{name} \ -DVTK_INSTALL_PACKAGE_DIR:PATH=%{_lib}/cmake/%{pkgname} \
-DVTK_INSTALL_TCL_DIR:PATH=share/tcl/%{name} \ -DVTK_INSTALL_TCL_DIR:PATH=share/tcl/%{pkgname} \
%if 0%{?suse_version} > 1320 %if 0%{?suse_version} > 1320
-DVTK_QT_VERSION=5 \ -DVTK_QT_VERSION=5 \
%endif %endif
-DVTK_INSTALL_QT_DIR:STRING=/%{qtdir}/plugins/designer \ -DVTK_INSTALL_QT_DIR:STRING=/%{qtdir}/plugins/designer \
-DVTK_USE_OGGTHEORA_ENCODER:BOOL=ON \ -DVTK_USE_OGGTHEORA_ENCODER:BOOL=ON \
-DVTK_USE_RENDERING:BOOL=ON \ -DVTK_USE_RENDERING:BOOL=ON \
%if %{compat_gl}
-DVTK_RENDERING_BACKEND:STRING='OpenGL' \
%endif
%if 0%{?suse_version} > 1320 || 0%{suse_version} == 1315 %if 0%{?suse_version} > 1320 || 0%{suse_version} == 1315
-DVTK_USE_SYSTEM_LIBRARIES:BOOL=ON \ -DVTK_USE_SYSTEM_LIBRARIES:BOOL=ON \
%else %else
@ -336,10 +400,10 @@ pushd build
# Install conf file to enable vtk to find its libraries # Install conf file to enable vtk to find its libraries
mkdir -p %{buildroot}/%{_sysconfdir}/ld.so.conf.d mkdir -p %{buildroot}/%{_sysconfdir}/ld.so.conf.d
echo %{_libdir}/%{name} > %{buildroot}/%{_sysconfdir}/ld.so.conf.d/%{name}.conf echo %{_libdir}/%{pkgname} > %{buildroot}/%{_sysconfdir}/ld.so.conf.d/%{pkgname}.conf
# Gather list of non-binding libraries # Gather list of non-binding libraries
ls %{buildroot}%{_libdir}/%{name}/lib*.so.* | grep -Ev '(Java|QVTK|Qt|Python|TCL)' | sed -e's,^%{buildroot},,' > libs.list ls %{buildroot}%{_libdir}/%{pkgname}/lib*.so.* | grep -Ev '(Java|QVTK|Qt|Python|TCL)' | sed -e's,^%{buildroot},,' > libs.list
# List of executable examples # List of executable examples
cat > examples.list << EOF cat > examples.list << EOF
@ -415,71 +479,74 @@ chrpath -d %{buildroot}%{_bindir}/*
%files -f build/libs.list %files -f build/libs.list
%defattr(-,root,root,-) %defattr(-,root,root,-)
%config %{_sysconfdir}/ld.so.conf.d/%{name}.conf %config %{_sysconfdir}/ld.so.conf.d/%{pkgname}.conf
%doc Copyright.txt %doc Copyright.txt
%dir %{_libdir}/%{name}/ %dir %{_libdir}/%{pkgname}/
%if 0%{?suse_version} <= 1320 && 0%{?suse_version} != 1315 %if 0%{?suse_version} <= 1320 && 0%{?suse_version} != 1315
%{_libdir}/libvtktiff.so.* %{_libdir}/libvtktiff.so.*
%endif %endif
%files devel %files devel
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_bindir}/%{name}EncodeString %{_bindir}/%{pkgname}EncodeString
%{_bindir}/%{name}HashSource %{_bindir}/%{pkgname}HashSource
%{_bindir}/%{name}WrapHierarchy %{_bindir}/%{pkgname}WrapHierarchy
%if %{compat_gl}
%{_bindir}/%{pkgname}ParseOGLExt
%endif
%{_bindir}/pvtk %{_bindir}/pvtk
%if 0%{?suse_version} <= 1320 && 0%{?suse_version} != 1315 %if 0%{?suse_version} <= 1320 && 0%{?suse_version} != 1315
%{_bindir}/%{name}mkg3states %{_bindir}/%{pkgname}mkg3states
%endif %endif
%{_datadir}/doc/%{name}-%{series}/ %{_datadir}/doc/%{pkgname}-%{series}/
%{_libdir}/%{name}/*.so %{_libdir}/%{pkgname}/*.so
%if 0%{?suse_version} <= 1320 && 0%{?suse_version} != 1315 %if 0%{?suse_version} <= 1320 && 0%{?suse_version} != 1315
%{_libdir}/libvtktiff.so %{_libdir}/libvtktiff.so
%endif %endif
%{_libdir}/cmake/%{name}/ %{_libdir}/cmake/%{pkgname}/
%{_libdir}/%{name}/libvtkWrappingTools.a %{_libdir}/%{pkgname}/libvtkWrappingTools.a
%{_includedir}/%{name}-%{series}/ %{_includedir}/%{pkgname}-%{series}/
%{_datadir}/tcl/vtk/vtktcl.c %{_datadir}/tcl/vtk/vtktcl.c
%files java %files java
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_bindir}/%{name}ParseJava %{_bindir}/%{pkgname}ParseJava
%{_bindir}/%{name}WrapJava %{_bindir}/%{pkgname}WrapJava
%{_libdir}/%{name}/%{name}.jar %{_libdir}/%{pkgname}/%{pkgname}.jar
%{_libdir}/%{name}/*Java.so.* %{_libdir}/%{pkgname}/*Java.so.*
%files -n python3-%{name} %files -n python3-%{name}
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_bindir}/%{name}python %{_bindir}/%{pkgname}python
%{_bindir}/p%{name}python %{_bindir}/p%{pkgname}python
%{_bindir}/%{name}WrapPython %{_bindir}/%{pkgname}WrapPython
%{_bindir}/%{name}WrapPythonInit %{_bindir}/%{pkgname}WrapPythonInit
%{_libdir}/%{name}/*Python*.so.* %{_libdir}/%{pkgname}/*Python*.so.*
%{python3_sitearch}/%{name}/ %{python3_sitearch}/%{pkgname}/
%dir %{_libdir}/%{name}/site-packages %dir %{_libdir}/%{pkgname}/site-packages
%{_libdir}/%{name}/site-packages/mpi4py/ %{_libdir}/%{pkgname}/site-packages/mpi4py/
%exclude %{_libdir}/%{name}/*QtPython*.so.* %exclude %{_libdir}/%{pkgname}/*QtPython*.so.*
%files tcl %files tcl
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_bindir}/%{name} %{_bindir}/%{pkgname}
%{_bindir}/%{name}WrapTcl %{_bindir}/%{pkgname}WrapTcl
%{_bindir}/%{name}WrapTclInit %{_bindir}/%{pkgname}WrapTclInit
%{_datadir}/tcl/%{name}/ %{_datadir}/tcl/%{pkgname}/
%{_libdir}/%{name}/lib%{name}*TCL.so.* %{_libdir}/%{pkgname}/lib%{pkgname}*TCL.so.*
%exclude %{_libdir}/%{name}/*QtTCL.so.* %exclude %{_libdir}/%{pkgname}/*QtTCL.so.*
%exclude %{_datadir}/tcl/vtk/vtktcl.c %exclude %{_datadir}/tcl/vtk/vtktcl.c
%files qt %files qt
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_libdir}/%{name}/lib*Qt*.so.* %{_libdir}/%{pkgname}/lib*Qt*.so.*
%dir %{_prefix}/%{qtdir}/plugins/designer %dir %{_prefix}/%{qtdir}/plugins/designer
%{_prefix}/%{qtdir}/plugins/designer/libQVTKWidgetPlugin.so %{_prefix}/%{qtdir}/plugins/designer/libQVTKWidgetPlugin.so
%exclude %{_libdir}/%{name}/*Python*.so.* %exclude %{_libdir}/%{pkgname}/*Python*.so.*
%files -n python3-%{name}-qt %files -n python3-%{name}-qt
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_libdir}/%{name}/*QtPython*.so.* %{_libdir}/%{pkgname}/*QtPython*.so.*
%files examples -f build/examples.list %files examples -f build/examples.list
%defattr(-,root,root,-) %defattr(-,root,root,-)