Accepting request 67621 from home:badshah400:branches:science

thanks

OBS-URL: https://build.opensuse.org/request/show/67621
OBS-URL: https://build.opensuse.org/package/show/science/vtk?expand=0&rev=21
This commit is contained in:
Tejas Guruswamy 2011-04-19 15:17:29 +00:00 committed by Git OBS Bridge
parent 7cd08c5054
commit b7d7dd676c
16 changed files with 587 additions and 335 deletions

View File

@ -1,12 +0,0 @@
diff -uNr VTK-orig/Utilities/kwsys/SystemInformation.cxx VTK/Utilities/kwsys/SystemInformation.cxx
--- VTK-ori/Utilities/kwsys/SystemInformation.cxx 2009-02-12 16:08:15.000000000 +0100
+++ VTK/Utilities/kwsys/SystemInformation.cxx 2010-03-25 11:34:27.197122890 +0100
@@ -135,7 +135,7 @@
void RunMemoryCheck();
public:
#define VENDOR_STRING_LENGTH (12 + 1)
-#define CHIPNAME_STRING_LENGTH (48 + 1)
+#define CHIPNAME_STRING_LENGTH (61 + 1)
#define SERIALNUMBER_STRING_LENGTH (29 + 1)
typedef struct tagID

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:037c0582ee7483e0b495e45a00c4f08784691ef82c4ea159ef86731c3beda73d
size 18265310

3
vtk-5.6.1.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8b7aa8add0ada3f1a89cc791b8ddf3881964a30fecb55bb35857845d01e32b5e
size 16947526

View File

@ -0,0 +1,12 @@
diff -ur VTK//Widgets/vtkBalloonRepresentation.cxx VTK.new//Widgets/vtkBalloonRepresentation.cxx
--- VTK//Widgets/vtkBalloonRepresentation.cxx 2010-09-28 02:10:11.000000000 +0530
+++ VTK.new//Widgets/vtkBalloonRepresentation.cxx 2011-04-14 05:15:50.706000023 +0530
@@ -215,7 +215,7 @@
int size[2];
size[0] = (this->Renderer->GetSize())[0];
size[1] = (this->Renderer->GetSize())[1];
- int stringSize[2]; stringSize[0] = stringSize[0] = 0;
+ int stringSize[2]; stringSize[0] = stringSize[1] = 0;
double imageSize[2]; imageSize[0] = imageSize[1] = 0.0;
double frameSize[2]; frameSize[0] = frameSize[1] = 0.0;
double io[2], so[2], fo[2];

34
vtk-gcc43.patch Normal file
View File

@ -0,0 +1,34 @@
--- VTK/Utilities/DICOMParser/DICOMAppHelper.cxx.gcc43 2008-03-19 21:22:17.000000000 +0100
+++ VTK/Utilities/DICOMParser/DICOMAppHelper.cxx 2008-10-05 11:46:08.000000000 +0200
@@ -32,7 +32,7 @@
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
-#include <string>
+#include <cstring>
#include <math.h>
#include <algorithm>
#if defined(__BORLANDC__)
--- VTK/Utilities/DICOMParser/DICOMFile.cxx.gcc43 2008-03-19 21:22:17.000000000 +0100
+++ VTK/Utilities/DICOMParser/DICOMFile.cxx 2008-10-05 11:46:02.000000000 +0200
@@ -27,7 +27,7 @@
#include <stdio.h>
#include <string.h>
-#include <string>
+#include <cstring>
DICOMFile::DICOMFile() : InputStream()
{
--- VTK/Utilities/DICOMParser/DICOMParser.cxx.gcc43 2008-07-21 19:03:03.000000000 +0200
+++ VTK/Utilities/DICOMParser/DICOMParser.cxx 2008-10-05 11:45:56.000000000 +0200
@@ -40,7 +40,7 @@
#endif
#include <string.h>
-#include <string>
+#include <cstring>
// Define DEBUG_DICOM to get debug messages sent to dicom_stream::cerr
// #define DEBUG_DICOM

24
vtk-gcc46.patch Normal file
View File

@ -0,0 +1,24 @@
diff -up VTK/Common/vtkPythonUtil.cxx.gcc46 VTK/Common/vtkPythonUtil.cxx
--- VTK/Common/vtkPythonUtil.cxx.gcc46 2010-09-27 14:40:01.000000000 -0600
+++ VTK/Common/vtkPythonUtil.cxx 2011-02-08 11:15:39.596308982 -0700
@@ -31,6 +31,8 @@
#include <vtkstd/map>
#include <vtkstd/string>
+#include <cstddef>
+
// Silent warning like
// "dereferencing type-punned pointer will break strict-aliasing rules"
// it happens because this kind of expression: (long *)&ptr
diff -up VTK/Utilities/vtkmetaio/metaUtils.cxx.gcc46 VTK/Utilities/vtkmetaio/metaUtils.cxx
--- VTK/Utilities/vtkmetaio/metaUtils.cxx.gcc46 2010-09-27 14:40:10.000000000 -0600
+++ VTK/Utilities/vtkmetaio/metaUtils.cxx 2011-02-08 10:43:25.265499011 -0700
@@ -34,6 +34,7 @@
#include <arpa/inet.h>
#endif
+#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include <string>

View File

@ -1,6 +1,7 @@
--- VTK/IO/vtkPNGReader.cxx.orig 2010-02-04 01:49:09.000000000 +0100
+++ VTK/IO/vtkPNGReader.cxx 2010-02-04 01:52:56.000000000 +0100
@@ -116,7 +116,7 @@
diff -ur VTK//IO/vtkPNGReader.cxx VTK.new//IO/vtkPNGReader.cxx
--- VTK//IO/vtkPNGReader.cxx 2010-09-28 02:10:05.000000000 +0530
+++ VTK.new//IO/vtkPNGReader.cxx 2011-03-24 00:28:48.102001081 +0530
@@ -115,7 +115,7 @@
// minimum of a byte per pixel
if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8)
{
@ -9,7 +10,7 @@
}
// add alpha if any alpha found
@@ -225,7 +225,7 @@
@@ -224,7 +224,7 @@
// minimum of a byte per pixel
if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8)
{

14
vtk-python27-compat.patch Normal file
View File

@ -0,0 +1,14 @@
diff --git a/CMake/FindPythonLibs.cmake b/CMake/FindPythonLibs.cmake
index 1ba21b5..217e7e9 100644
--- a/CMake/FindPythonLibs.cmake
+++ b/CMake/FindPythonLibs.cmake
@@ -27,7 +27,7 @@ INCLUDE(CMakeFindFrameworks)
# Search for the python framework on Apple.
CMAKE_FIND_FRAMEWORKS(Python)
-FOREACH(_CURRENT_VERSION 2.6 2.5 2.4 2.3 2.2 2.1 2.0 1.6 1.5)
+FOREACH(_CURRENT_VERSION 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0 1.6 1.5)
STRING(REPLACE "." "" _CURRENT_VERSION_NO_DOTS ${_CURRENT_VERSION})
IF(WIN32)
FIND_LIBRARY(PYTHON_DEBUG_LIBRARY

View File

@ -1,12 +1,12 @@
diff -uNr VTK/Wrapping/Python/CMakeLists.txt new-VTK/Wrapping/Python/CMakeLists.txt
--- VTK/Wrapping/Python/CMakeLists.txt 2008-05-03 21:34:42.000000000 +0200
+++ new-VTK/Wrapping/Python/CMakeLists.txt 2008-12-31 10:19:27.000000000 +0100
@@ -348,8 +348,8 @@
diff -ur VTK//Wrapping/Python/CMakeLists.txt VTK.new//Wrapping/Python/CMakeLists.txt
--- VTK//Wrapping/Python/CMakeLists.txt 2010-09-28 02:10:11.000000000 +0530
+++ VTK.new//Wrapping/Python/CMakeLists.txt 2011-03-23 23:01:48.995000067 +0530
@@ -417,7 +417,7 @@
# Create default python setup arguments if they are not set.
IF(NOT DEFINED VTK_PYTHON_SETUP_ARGS)
- SET(VTK_PYTHON_SETUP_ARGS "--prefix=\"${DOLLAR}{CMAKE_INSTALL_PREFIX}\""
+ SET(VTK_PYTHON_SETUP_ARGS "--root=\"${DOLLAR}{CMAKE_INSTALL_PREFIX}\" -O1"
+ SET(VTK_PYTHON_SETUP_ARGS "--prefix=\"${DOLLAR}{CMAKE_INSTALL_PREFIX}\" --root=\"${DOLLAR}ENV{DESTDIR}\""
CACHE STRING "Arguments passed to \"python setup.py install ...\" during installation.")
MARK_AS_ADVANCED(VTK_PYTHON_SETUP_ARGS)
ENDIF(NOT DEFINED VTK_PYTHON_SETUP_ARGS)

31
vtk-soversion.patch Normal file
View File

@ -0,0 +1,31 @@
diff -up VTK/Utilities/Cosmo/CMakeLists.txt.soversion VTK/Utilities/Cosmo/CMakeLists.txt
--- VTK/Utilities/Cosmo/CMakeLists.txt.soversion 2010-09-27 14:40:07.000000000 -0600
+++ VTK/Utilities/Cosmo/CMakeLists.txt 2011-02-18 09:23:40.749509891 -0700
@@ -35,6 +35,11 @@ INCLUDE_DIRECTORIES (${Cosmo_SOURCE_DIR}
ADD_LIBRARY(Cosmo ${Cosmo_SOURCES})
TARGET_LINK_LIBRARIES(Cosmo vtksys vtkCommon ${Cosmo_LIBS})
+# Apply user-defined properties to the library target. Such as SO Version
+IF(VTK_LIBRARY_PROPERTIES)
+ SET_TARGET_PROPERTIES(Cosmo PROPERTIES ${VTK_LIBRARY_PROPERTIES})
+ENDIF(VTK_LIBRARY_PROPERTIES)
+
IF(NOT VTK_INSTALL_NO_LIBRARIES)
INSTALL(TARGETS Cosmo
RUNTIME DESTINATION ${VTK_INSTALL_BIN_DIR_CM24} COMPONENT RuntimeLibraries
diff -up VTK/Utilities/VPIC/CMakeLists.txt.soversion VTK/Utilities/VPIC/CMakeLists.txt
--- VTK/Utilities/VPIC/CMakeLists.txt.soversion 2010-09-27 14:40:08.000000000 -0600
+++ VTK/Utilities/VPIC/CMakeLists.txt 2011-02-18 09:24:46.991211358 -0700
@@ -31,6 +31,11 @@ TARGET_LINK_LIBRARIES(VPIC ${MPI_LIBRARY
ENDIF(MPI_EXTRA_LIBRARY)
ENDIF(VTK_USE_MPI)
+# Apply user-defined properties to the library target. Such as SO Version
+IF(VTK_LIBRARY_PROPERTIES)
+ SET_TARGET_PROPERTIES(VPIC PROPERTIES ${VTK_LIBRARY_PROPERTIES})
+ENDIF(VTK_LIBRARY_PROPERTIES)
+
IF(NOT VTK_INSTALL_NO_LIBRARIES)
INSTALL(TARGETS VPIC
RUNTIME DESTINATION ${VTK_INSTALL_BIN_DIR_CM24} COMPONENT RuntimeLibraries

View File

@ -0,0 +1,18 @@
diff -ur VTK.orig//IO/vtkSQLDatabaseSchema.h VTK//IO/vtkSQLDatabaseSchema.h
--- VTK.orig//IO/vtkSQLDatabaseSchema.h 2010-09-28 02:10:05.000000000 +0530
+++ VTK//IO/vtkSQLDatabaseSchema.h 2011-03-30 09:10:08.513000002 +0530
@@ -32,6 +32,14 @@
#ifndef __vtkSQLDatabaseSchema_h
#define __vtkSQLDatabaseSchema_h
+#ifdef TIME
+#undef TIME
+#endif
+
+#ifdef DATE
+#undef DATE
+#endif
+
#include "vtkObject.h"
#include <cstdarg> // Because one method has a variable list of arguments

12
vtk-string-length.patch Normal file
View File

@ -0,0 +1,12 @@
--- VTK//Utilities/kwsys/SystemInformation.cxx 2010-09-28 02:10:08.000000000 +0530
+++ VTK.new//Utilities/kwsys/SystemInformation.cxx 2011-04-14 04:54:06.350000017 +0530
@@ -152,7 +152,7 @@
public:
#define VENDOR_STRING_LENGTH (12 + 1)
-#define CHIPNAME_STRING_LENGTH (48 + 1)
+#define CHIPNAME_STRING_LENGTH (64 + 1)
#define SERIALNUMBER_STRING_LENGTH (29 + 1)
typedef struct tagID

40
vtk-system.patch Normal file
View File

@ -0,0 +1,40 @@
diff -up VTK/CMakeLists.txt.system VTK/CMakeLists.txt
--- VTK/CMakeLists.txt.system 2010-09-27 14:40:00.000000000 -0600
+++ VTK/CMakeLists.txt 2011-02-08 14:08:29.367122550 -0700
@@ -106,6 +106,11 @@ IF(CMAKE_CONFIGURATION_TYPES)
ENDIF(CMAKE_CONFIGURATION_TYPES)
#-----------------------------------------------------------------------------
+# Do we try to use system libraries by default?
+OPTION(VTK_USE_SYSTEM_LIBRARIES "Use the system's libraries by default." OFF)
+MARK_AS_ADVANCED(VTK_USE_SYSTEM_LIBRARIES)
+
+#-----------------------------------------------------------------------------
# Load some macros.
INCLUDE(vtkDependentOption)
INCLUDE(vtkThirdParty)
diff -up VTK/CMake/vtkThirdParty.cmake.system VTK/CMake/vtkThirdParty.cmake
--- VTK/CMake/vtkThirdParty.cmake.system 2010-09-27 14:40:00.000000000 -0600
+++ VTK/CMake/vtkThirdParty.cmake 2011-02-08 14:07:46.424662568 -0700
@@ -1,6 +1,6 @@
#-----------------------------------------------------------------------------
MACRO(VTK_THIRD_PARTY_OPTION upper lower)
- OPTION(VTK_USE_SYSTEM_${upper} "Use the system's ${lower} library." OFF)
+ OPTION(VTK_USE_SYSTEM_${upper} "Use the system's ${lower} library." ${VTK_USE_SYSTEM_LIBRARIES})
MARK_AS_ADVANCED(VTK_USE_SYSTEM_${upper})
IF(VTK_USE_SYSTEM_${upper})
IF(EXISTS ${CMAKE_ROOT}/Modules/Find${upper}.cmake)
diff -up VTK/Rendering/CMakeLists.txt.system VTK/Rendering/CMakeLists.txt
--- VTK/Rendering/CMakeLists.txt.system 2010-09-27 14:40:06.000000000 -0600
+++ VTK/Rendering/CMakeLists.txt 2011-02-08 14:11:47.379633170 -0700
@@ -202,7 +202,8 @@ ENDIF (NOT VTK_LEGACY_REMOVE)
IF(VTK_USE_GL2PS)
SET(Kit_SRCS ${Kit_SRCS} vtkGL2PSExporter.cxx)
-
+ OPTION(VTK_USE_SYSTEM_GL2PS "Use the system's gl2ps library." ${VTK_USE_SYSTEM_LIBRARIES})
+ MARK_AS_ADVANCED(VTK_USE_SYSTEM_GL2PS)
IF(VTK_USE_SYSTEM_GL2PS)
ELSE(VTK_USE_SYSTEM_GL2PS)
SET(Kit_GL2PS_SRCS ${VTK_SOURCE_DIR}/Utilities/vtkgl2ps/gl2ps.c)

View File

@ -0,0 +1,20 @@
--- VTK/Graphics/Testing/Cxx/CMakeLists.txt.testcxxjava 2010-03-31 18:44:26.000000000 +0200
+++ VTK/Graphics/Testing/Cxx/CMakeLists.txt 2010-07-10 11:29:39.943549435 +0200
@@ -107,17 +107,3 @@
ENDFOREACH (test)
ENDIF (VTK_USE_RENDERING AND VTK_USE_DISPLAY)
-IF (VTK_WRAP_JAVA)
- ADD_EXECUTABLE(TestJavaProgrammableFilter TestJavaProgrammableFilter.cxx)
- ADD_TEST(TestJavaProgrammableFilter
- ${CXX_TEST_PATH}/TestJavaProgrammableFilter
- -j ${LIBRARY_OUTPUT_PATH}/vtk.jar
- -cp ${LIBRARY_OUTPUT_PATH}/vtk.jar
- -class vtk/SampleAlgorithm
- )
- TARGET_LINK_LIBRARIES(TestJavaProgrammableFilter
- vtkGraphicsJava
- ${JAVA_AWT_LIBRARY}
- ${JAVA_JVM_LIBRARY}
- )
-ENDIF (VTK_WRAP_JAVA)

View File

@ -1,3 +1,34 @@
-------------------------------------------------------------------
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

649
vtk.spec
View File

@ -1,351 +1,402 @@
#
# spec file for package
#
# Copyright (c) 2011 SUSE LINUX Products 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 qtdir %{_libdir}/qt4
Name: vtk
Summary: The Visualization Toolkit - A high level 3D visualization library
Version: 5.4.2
Release: 1
License: BSD
Group: System/Libraries
URL: http://www.vtk.org
Source0: vtk-%{version}.tar.gz
Patch0: vtk-5.4.2-pythondestdir.patch
Patch1: vtk-5.4.2-string-len.patch
%if 0%{?suse_version} >= 1130
Patch2: vtk-libpng-1.4.0.patch
Name: vtk
Version: 5.6.1
Release: 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
License: BSD
Summary: The Visualization Toolkit - A high level 3D visualization library
Group: Productivity/Scientific/Other
Source: %{name}-%{version}.tar.bz2
# PATCH-FIX-UPSTREAM vtk-pythondestdir.patch --badshah400@gmail.com Correct installation destination for python libraries
Patch0: vtk-pythondestdir.patch
# PATCH-FIX-UPSTREAM vtk-gcc43.patch --badshah400@gmail.com Compatibility with gcc 4.3 and above
Patch1: vtk-gcc43.patch
# PATCH-FIX-UPSTREAM vtk-testcxxjavaremove.patch --badshah400@gmail.com
Patch2: vtk-testcxxjavaremove.patch
# PATCH-FIX-UPSTREAM vtk-python27-compat.patch --badshah400@gmail.com Python 2.7 compatibility
Patch3: vtk-python27-compat.patch
# PATCH-FIX-UPSTREAM vtk-gcc46.patch --badshah400@gmail.com Add needed includes for gcc 4.6
# http://public.kitware.com/Bug/view.php?id=11824
Patch4: vtk-gcc46.patch
# PATCH-FIX-UPSTREAM vtk-system.patch --badshah400@gmail.com Use system libraries
# http://public.kitware.com/Bug/view.php?id=11823
Patch5: vtk-system.patch
# PATCH-FIX-UPSTREAM vtk-soversion.patch --badshah400@gmail.com Upstream patch to add soversions to libCosmo and libVPIC
Patch6: vtk-soversion.patch
# PATCH-FIX-UPSTREAM vtk-sqldatabaseschema.patch --badshah400@gmail.com Resolve problems with vtkSQLdatabaseschema.cxx, patch came from upstream
Patch7: vtk-sqldatabaseschema.patch
%if 0%{?suse_version} > 1120
# PATCH-FIX-UPSTREAM vtk-libpng14.patch --badshah400@gmail.com Restore compatibility with libpng14
Patch8: vtk-libpng14.patch
%endif
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root
# PATCH-FIX-UPSTREAM vtk-string-length.patch badshah400@gmail.com Prevent buffer overflows during string copy
Patch9: vtk-string-length.patch
# PATCH-FIX-UPSTREAM vtk-Balloon-Representation.patch badshah400@gmail.com Correct assignment operations in source files
Patch10: vtk-Balloon-Representation.patch
BuildRequires: cmake tcl-devel tk-devel libqt4-devel python-devel
BuildRequires: libexpat-devel libjpeg-devel libpng-devel freetype2-devel
BuildRequires: libtiff-devel zlib-devel fdupes doxygen graphviz gnuplot
# tar-1.14.90+ uses --strip-components option
BuildRequires: tar > 1.14.90
BuildRequires: chrpath
%if 0%{?suse_version} >= 1110
Url: http://vtk.org/
BuildRequires: Mesa-devel
BuildRequires: MesaGLw-devel
BuildRequires: boost-devel
BuildRequires: chrpath
BuildRequires: cmake
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: freeglut-devel
%endif
BuildRequires: freetype2-devel
BuildRequires: gcc-c++
BuildRequires: gcc-java
BuildRequires: gnuplot
BuildRequires: graphviz
BuildRequires: java-devel
BuildRequires: libexpat-devel
BuildRequires: libgcj-devel
BuildRequires: libjpeg-devel
BuildRequires: libmysqlclient-devel
BuildRequires: libpng-devel
BuildRequires: libqt4-devel
BuildRequires: libtheora-devel
BuildRequires: libtiff-devel
BuildRequires: libxml2-devel
BuildRequires: make
BuildRequires: openmotif-devel
BuildRequires: postgresql-devel
BuildRequires: python-devel
BuildRequires: sqlite3-devel
BuildRequires: tcl-devel
BuildRequires: tk-devel
BuildRequires: wget
BuildRequires: xorg-x11-devel
BuildRequires: zlib-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
%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)
volume rendering, LOD control).
%package devel
Summary: VTK header files for building C++ code
Requires: vtk = %{version}
Requires: python-vtk
Requires: vtk-qt
Requires: vtk-tcl
Group: Development/Libraries
Summary: VTK header files for building C++ code
Group: Development/Libraries/Other
Requires: Mesa-devel
Requires: libexpat-devel
Requires: libjpeg-devel
Requires: libmysqlclient-devel
Requires: libogg-devel
Requires: libpng-devel
Requires: libqt4-devel
Requires: libtheora-devel
Requires: libtiff-devel
Requires: postgresql-devel
Requires: vtk = %{version}
%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).
%description devel
This provides the VTK header files required to compile C++ programs that
use VTK to do 3D visualisation
use VTK to do 3D visualisation.
%package tcl
Summary: Tcl bindings for VTK
Requires: vtk = %{version}
Group: System/Libraries
Summary: Tcl bindings for VTK
Group: System/Libraries
Requires: vtk = %{version}
%description tcl
tcl bindings for VTK
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 -n python-vtk
Summary: Python bindings for VTK
Requires: vtk = %{version}
Group: System/Libraries
Provides: vtk-python
Summary: Python bindings for VTK
Group: System/Libraries
Requires: vtk = %{version}
%description -n python-vtk
python bindings for VTK
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 java
Summary: Java VTK bindings
Requires: vtk = %{version}
Group: Development/Libraries/Java
Summary: Java bindings for VTK
Group: Development/Libraries/Java
Requires: vtk = %{version}
%description java
The Java-bindings for VTK
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 qt
Summary: QT VTK widget
Requires: vtk = %{version}
# do not neeeded to call it, rpm take care of it
#Requires: libqt4
Group: Development/Libraries/C and C++
This package provides java bindings for VTK.
%description qt
Qt VTK widget
%package testing
Summary: Testing programs for VTK
Group: Productivity/Scientific/Other
Requires: vtk = %{version}
Requires: vtkdata = %{version}
%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
%package examples
Summary: Examples for VTK
Requires: vtk = %{version}
Group: Productivity/Scientific/Other
Summary: Examples for VTK
Group: Productivity/Scientific/Other
Requires: vtk = %{version}
Requires: vtkdata = %{version}
%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
programming languages.
%package testing-progs
Summary: Testing programs for VTK
Requires: %{name} = %{version}, vtkdata = %{version}
Group: Productivity/Scientific/Other
%description testing-progs
Testing programs for VTK
%debug_package
%prep
%setup -n VTK -q
%setup -q -n VTK
%patch0 -p1
%patch1 -p1
%if 0%{?suse_version} >= 1130
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%if 0%{?suse_version} > 1120
%patch8 -p1
%endif
%patch9 -p1
%patch10 -p1
# Replace relative path ../../../VTKData with %{_datadir}/vtkdata
# Replace relative path ../../../VTKData with %{_datadir}/vtkdata-%{version}
# otherwise it will break on symlinks.
grep -rl '\.\./\.\./\.\./\.\./VTKData' . | xargs \
perl -pi -e's,\.\./\.\./\.\./\.\./VTKData,%{_datadir}/%{name}data,g'
perl -pi -e's,\.\./\.\./\.\./\.\./VTKData,%{_datadir}/%{name},g'
# Save an unbuilt copy of the Example's sources for %doc
#mkdir vtk-examples-5.6
#cp -a Examples vtk-examples-5.6
# Don't ship Win32 examples
rm -rf vtk-examples-5.6/Examples/GUI/Win32
#find vtk-examples-5.6 -type f | xargs chmod -R a-x
%build
export CFLAGS="$RPM_OPT_FLAGS"
export CXXFLAGS="$RPM_OPT_FLAGS"
cmake . \
-DDESIRED_QT_VERSION=4 \
-DCMAKE_C_FLAGS:STRING="$RPM_OPT_FLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$RPM_OPT_FLAGS" \
-DCMAKE_INSTALL_PREFIX:PATH=$RPM_BUILD_ROOT \
-DVTK_INSTALL_BIN_DIR:PATH=%{_bindir} \
-DVTK_INSTALL_INCLUDE_DIR:PATH=%{_includedir}/%{name} \
-DVTK_INSTALL_LIB_DIR:PATH=%{_libdir} \
-DVTK_DATA_ROOT:PATH=%{_datadir}/%{name}-data \
-DVTK_WRAP_PYTHON:BOOL=ON \
-DVTK_WRAP_TCL:BOOL=ON \
-DVTK_WRAP_JAVA:BOOL=ON \
-DVTK_USE_PARALLEL:BOOL=ON \
-DVTK_USE_RENDERING:BOOL=ON \
-DBUILD_DOCUMENTATION:BOOL=OFF \
-DBUILD_EXAMPLES:BOOL=ON \
-DBUILD_SHARED_LIBS:BOOL=ON \
-DBUILD_TESTING:BOOL=ON \
-DVTK_USE_GUISUPPORT:BOOL=ON \
-DVTK_USE_QVTK:BOOL=ON \
-DVTK_INSTALL_QT_DIR:STRING=%{qtdir}/plugins/designer \
-DVTK_LEGACY_REMOVE:BOOL=OFF \
-DVTK_USE_GL2PS:BOOL=ON \
-DVTK_USE_SYSTEM_EXPAT:BOOL=ON \
-DVTK_USE_SYSTEM_JPEG:BOOL=ON \
-DVTK_USE_SYSTEM_PNG:BOOL=ON \
-DVTK_USE_SYSTEM_TIFF:BOOL=ON \
-DVTK_USE_SYSTEM_ZLIB:BOOL=ON \
-DVTK_USE_SYSTEM_EXPAT:BOOL=ON \
-DVTK_USE_SYSTEM_FREETYPE:BOOL=ON \
-DVTK_HAVE_GETSOCKNAME_WITH_SOCKLEN_T:INTERNAL=1
export CC='gcc'
export CXX='g++'
export MAKE='make'
export CFLAGS="%{optflags}"
export CXXFLAGS="%{optflags}"
%__make %{?jobs:-j%{jobs}}
cmake . \
-DDESIRED_QT_VERSION=4 \
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
-DVTK_INSTALL_LIB_DIR:PATH=/%{_lib}/%{name} \
-DVTK_WRAP_PYTHON:BOOL=ON \
-DVTK_WRAP_TCL:BOOL=ON \
-DVTK_WRAP_JAVA:BOOL=ON \
-DVTK_USE_PARALLEL:BOOL=ON \
-DVTK_USE_RENDERING:BOOL=ON \
-DBUILD_DOCUMENTATION:BOOL=OFF \
-DBUILD_EXAMPLES:BOOL=ON \
-DBUILD_SHARED_LIBS:BOOL=ON \
-DBUILD_TESTING:BOOL=ON \
-DVTK_USE_GUISUPPORT:BOOL=ON \
-DVTK_USE_QVTK:BOOL=ON \
-DVTK_INSTALL_QT_DIR:STRING=%{_libdir}/qt4/plugins/designer \
-DVTK_USE_GL2PS:BOOL=ON \
-DVTK_USE_SYSTEM_EXPAT:BOOL=ON \
-DVTK_USE_SYSTEM_JPEG:BOOL=ON \
-DVTK_USE_SYSTEM_PNG:BOOL=ON \
-DVTK_USE_SYSTEM_TIFF:BOOL=ON \
-DVTK_USE_SYSTEM_ZLIB:BOOL=ON \
-DVTK_USE_SYSTEM_EXPAT:BOOL=ON \
-DVTK_USE_SYSTEM_FREETYPE:BOOL=ON
%__make
# 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
%install
make install
mkdir -p %{buildroot}
%makeinstall
# python stuff is installed in the wrong directory /usr/local
# http://www.vtk.org/Bug/view.php?id=4010
mkdir -p %buildroot/%python_sitelib
mv $RPM_BUILD_ROOT%{_prefix}/local/lib/python%{py_ver}/site-packages/* $RPM_BUILD_ROOT/%python_sitelib/
mv %{buildroot}%{_libdir}/%{name}/lib*.so* %{buildroot}%{_libdir}/
# install testing-progs and examples
find bin -type f | egrep -v '\.' > bin-progs-list
install -d $RPM_BUILD_ROOT%{_bindir}
install -m 755 `cat bin-progs-list` $RPM_BUILD_ROOT%{_bindir}
# Gather list of non-python/tcl libraries
ls %{buildroot}%{_libdir}/*.so.* \
| grep -Ev '(Java|QVTK|PythonD|TCL)' | sed -e's,^%{buildroot},,' > libs.list
# generate the package testing-progs lists and store them in file-lists
echo "%defattr (-, root, root)" > testing-progs-list
find $RPM_BUILD_ROOT%{_bindir} -type f | \
sed -e "s#^$RPM_BUILD_ROOT##" | \
egrep -v '^%{_bindir}/(qt.*|vtk|pvtk|vtkWrap.*|vtkpython|pvtkpython)$'\
>> testing-progs-list
# List of executable utilities
cat > utils.list << EOF
vtkEncodeString
lproj
EOF
# examples and testing files
for d in Common Filtering GenericFiltering Graphics Hybrid IO \
Imaging Parallel Rendering VolumeRendering Widgets
do
install -d $RPM_BUILD_ROOT%{_datadir}/%{name}-examples/Testing/$d
cp -a $d/Testing/* \
$RPM_BUILD_ROOT%{_datadir}/%{name}-examples/Testing/$d
# List of executable examples
cat > examples.list << EOF
HierarchicalBoxPipeline
MultiBlock
Arrays
Cube
RGrid
SGrid
Medical1
Medical2
Medical3
finance
AmbientSpheres
Cylinder
DiffuseSpheres
SpecularSpheres
Cone
Cone2
Cone3
Cone4
Cone5
Cone6
EOF
# List of executable test binaries
cat > testing.list << EOF
CommonCxxTests
TestCxxFeatures
TestInstantiator
FilteringCxxTests
GraphicsCxxTests
GenericFilteringCxxTests
ImagingCxxTests
IOCxxTests
RenderingCxxTests
VTKBenchMark
VolumeRenderingCxxTests
WidgetsCxxTests
SocketClient
SocketServer
EOF
# Install utils/examples/testing, too
for filelist in utils.list examples.list testing.list; do
for file in `cat $filelist`; do
install -p bin/$file %{buildroot}%{_bindir}
done
perl -pi -e's,^,%{_bindir}/,' $filelist
done
cp -a Examples $RPM_BUILD_ROOT%{_datadir}/%{name}-examples
# get rid of unwanted files
find $RPM_BUILD_ROOT%{_datadir}/%{name}-examples \
-name "*.o" -exec rm {} ';' -o \
-name CMakeCache.txt -exec rm {} ';' -o \
-name Makefile -exec rm {} ';' -o \
-name DartTestfile.txt -exec rm {} ';' -o \
-name .NoDartCoverage -exec rm {} ';' -o \
-name "cmake.*" -exec rm {} ';' -o \
-name "cmake_install.*" -exec rm {} ';' -o \
-name "*.pyc" -exec rm {} ';' -o \
-name "*.pyo" -exec rm {} ';'
find $RPM_BUILD_ROOT%{_datadir}/%{name}-examples \
-type d -name CVS | xargs rm -rf
find $RPM_BUILD_ROOT%{_datadir}/%{name}-examples \
-name "CMake*" | xargs rm -rf
# Remove any remnants of rpaths
chrpath -d %{buildroot}%{_bindir}/*
# cmake
install -d $RPM_BUILD_ROOT/%{_libdir}/vtk-%{version}
mv $RPM_BUILD_ROOT/%{_libdir}/*.cmake $RPM_BUILD_ROOT/%{_libdir}/vtk-%{version}
mv $RPM_BUILD_ROOT/%{_libdir}/CMake $RPM_BUILD_ROOT/%{_libdir}/vtk-%{version}
mv $RPM_BUILD_ROOT/%{_libdir}/hints $RPM_BUILD_ROOT/%{_libdir}/vtk-%{version}
# Main package contains utils and core libs
cat libs.list utils.list > main.list
# make scripts executable
chmod a+x $RPM_BUILD_ROOT%{_libdir}/testing/*.{py,tcl}
# Make shared libs and scripts executable
chmod a+x %{buildroot}%{_libdir}/%{name}/doxygen/*.pl
chmod a+x %{buildroot}%{_libdir}/%{name}/testing/*.{py,tcl}
# fix tcl stuff
install -d $RPM_BUILD_ROOT/usr/share/tcl/vtk-%{version}/testing
mv $RPM_BUILD_ROOT/%{_libdir}/pkgIndex.tcl $RPM_BUILD_ROOT/usr/share/tcl/vtk-%{version}
mv $RPM_BUILD_ROOT/%{_libdir}/tcl/* $RPM_BUILD_ROOT/usr/share/tcl/vtk-%{version}
mv $RPM_BUILD_ROOT/%{_libdir}/testing/*.tcl $RPM_BUILD_ROOT/usr/share/tcl/vtk-%{version}/testing
#python testing files --> remove them
rm -rf $RPM_BUILD_ROOT/%{_libdir}/testing
# remove doxygen scripts and verdict docs
rm -rf $RPM_BUILD_ROOT/%{_libdir}/doxygen
rm -rf $RPM_BUILD_ROOT/%{_libdir}/doc
# Remove exec bit from not-scripts
chmod 0644 Utilities/Upgrading/*.pdf
chmod 0644 Utilities/Upgrading/*.txt
for file in `find $RPM_BUILD_ROOT -type f -perm 0755 | xargs -r file | grep ASCII | awk -F: '{print $1}'`; do
# Remove exec bit from non-scripts and %%doc
for file in `find %{buildroot} -type f -perm 0755 \
| xargs -r file | grep ASCII | awk -F: '{print $1}'`; do
head -1 $file | grep '^#!' > /dev/null && continue
chmod 0644 $file
done
find Utilities/Upgrading -type f | xargs chmod -x
# drop empty files
find $RPM_BUILD_ROOT -size 0 | xargs rm -f
# Add exec bits to shared libs ...
#chmod 0755 %{buildroot}%{_libdir}/vtk-5.6/CMake/*.so
#chmod 0755 %{buildroot}%{_libdir}/python*/site-packages/vtk/*.so
# Remove any remnants of rpaths
chrpath -d $RPM_BUILD_ROOT%{_bindir}/*
# Verdict places the docs in the false folder
rm -rf %{buildroot}%{_libdir}/vtk/doc
# make doc-dirs
for dir in vtk vtk-devel vtk-tcl vtk-testing-progs vtk-python; do
install -d $RPM_BUILD_ROOT/%{_docdir}/"$dir"
done
#Move tcl script to %{_datadir}/tcl/vtk/
mkdir -p %{buildroot}%{_datadir}/tcl/vtk/
mv %{buildroot}%{_libdir}/%{name}/tcl/ %{buildroot}%{_datadir}/tcl/vtk/
mv %{buildroot}%{_libdir}/%{name}/*.tcl %{buildroot}%{_datadir}/tcl/%{name}/
`for i in $(find %{buildroot}%{_datadir}/vtk-examples/ -name '*.py'); do chmod +x $i; done`
#chmod -x %buildroot/%{_libdir}/vtk-%{version}/*.cmake
#symlink duplicate files, made rpm smaller and rpmlint happyer
%fdupes -s %buildroot
%fdupes -s %{buildroot}
%clean
rm -rf $RPM_BUILD_ROOT
rm -rf %{buildroot}
%post -p /sbin/ldconfig
%post tcl -p /sbin/ldconfig
%post -n python-vtk -p /sbin/ldconfig
%post qt -p /sbin/ldconfig
%post java -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post tcl -p /sbin/ldconfig
%postun tcl -p /sbin/ldconfig
%post -n python-vtk -p /sbin/ldconfig
%postun -n python-vtk -p /sbin/ldconfig
%postun qt -p /sbin/ldconfig
%post java -p /sbin/ldconfig
%postun java -p /sbin/ldconfig
%files
%defattr(-,root,root)
%{_libdir}/libvtkCommon.so.*
%{_libdir}/libvtkFiltering.so.*
%{_libdir}/libvtkGenericFiltering.so.*
%{_libdir}/libvtkGraphics.so.*
%{_libdir}/libvtkHybrid.so.*
%{_libdir}/libvtkImaging.so.*
%{_libdir}/libvtkIO.so.*
%{_libdir}/libvtkParallel.so.*
%{_libdir}/libvtkRendering.so.*
%{_libdir}/libvtkftgl.so.*
%{_libdir}/libvtkDICOMParser.so.*
%{_libdir}/libvtkVolumeRendering.so.*
%{_libdir}/libvtksys.so.*
%{_libdir}/libvtkWidgets.so.*
%{_libdir}/libvtkNetCDF.so.*
%{_libdir}/libvtkexoIIc.so.*
%{_libdir}/libvtkInfovis.so.*
%{_libdir}/libvtkViews.so.*
%{_libdir}/libvtklibxml2.so.*
%{_libdir}/libvtkmetaio.so.*
%{_libdir}/libvtksqlite.so.*
%{_libdir}/libvtkverdict.so.*
%{_libdir}/libvtkGeovis.so.*
%{_libdir}/libvtkalglib.so.*
%{_libdir}/libvtkproj4.so.*
%doc README.html
%files -f main.list
%defattr(-,root,root,-)
%doc --parents Copyright.txt README.html vtkLogo.jpg vtkBanner.gif Wrapping/*/README*
%doc README.html
%doc vtkLogo.jpg
%doc Copyright.txt
%files devel
%defattr(-,root,root,-)
%dir %{_libdir}/vtk-%{version}
%{_includedir}/*
%{_libdir}/vtk-%{version}/CMake
%{_libdir}/vtk-%{version}/*.cmake
%{_libdir}/vtk-%{version}/hints
%{_libdir}/libvtkCommon.so
%{_libdir}/libvtkFiltering.so
%{_libdir}/libvtkGenericFiltering.so
%{_libdir}/libvtkGraphics.so
%{_libdir}/libvtkHybrid.so
%{_libdir}/libvtkImaging.so
%{_libdir}/libvtkIO.so
%{_libdir}/libvtkParallel.so
%{_libdir}/libvtkRendering.so
%{_libdir}/libvtkftgl.so
%{_libdir}/libvtkDICOMParser.so
%{_libdir}/libvtkVolumeRendering.so
%{_libdir}/libvtksys.so
%{_libdir}/libvtkWidgets.so
%{_libdir}/libvtkNetCDF.so
%{_libdir}/libvtkexoIIc.so
%{_libdir}/libvtk*TCL.so
%{_libdir}/libvtk*Python*.so
%{_libdir}/libvtk*Java*.so
%{_libdir}/libQVTK.so
%{_libdir}/libvtkInfovis.so
%{_libdir}/libvtkViews.so
%{_libdir}/libvtklibxml2.so
%{_libdir}/libvtkmetaio.so
%{_libdir}/libvtksqlite.so
%{_libdir}/libvtkverdict.so
%{_libdir}/libvtkGeovis.so
%{_libdir}/libvtkalglib.so
%{_libdir}/libvtkproj4.so
%doc README.html
%doc vtkLogo.jpg
%defattr(0644,root,root,-)
%doc Utilities/Upgrading/*.txt
%doc Utilities/Upgrading/*.pdf
%doc Utilities/Upgrading/*.cmake
%files testing-progs -f testing-progs-list
%defattr(-,root,root,-)
%doc README.html
%doc vtkLogo.jpg
%doc Utilities/Upgrading
%{_libdir}/%{name}/doxygen
%{_includedir}/%{name}-5.6
%{_libdir}/%{name}/CMake/
%{_libdir}/%{name}/*.cmake
%{_libdir}/%{name}/hints
%{_libdir}/*.so
%files tcl
%defattr(-,root,root,-)
@ -353,66 +404,42 @@ rm -rf $RPM_BUILD_ROOT
%{_bindir}/vtkWrapTclInit
%{_bindir}/vtk
%{_libdir}/libvtk*TCL.so.*
%{_datadir}/tcl
%doc README.html
%{_datadir}/tcl/vtk/
%doc README.html
%doc vtkLogo.jpg
%files -n python-vtk
%defattr(-,root,root,-)
%{_libdir}/*PythonD.so.*
%{python_sitelib}/%{name}/
%{_prefix}/lib/python%{py_ver}/site-packages/VTK-%{version}-py%{py_ver}.egg-info
%{_bindir}/vtkWrapPython
%{_bindir}/vtkWrapPythonInit
%{_bindir}/vtkpython
%{_libdir}/libvtk*Python*.so.*
%if %suse_version <= 1110
%{py_sitedir}/*
%else
%{python_sitelib}/*
%endif
%doc README.html
%doc README.html
%doc vtkLogo.jpg
%files qt
%defattr(-,root,root,-)
%{_libdir}/libQVTK.so.*
%{_libdir}/libvtkQtChart.so*
%{_bindir}/qtevents
%{_bindir}/qtimageviewer
%{_bindir}/qtsimpleview
%dir %{qtdir}/plugins/designer
%{qtdir}/plugins/designer/libQVTKWidgetPlugin.so
%files java
%defattr(-,root,root,-)
%dir %{_libdir}/java/vtk
%{_libdir}/java/vtk/vtk.jar
%{_libdir}/libvtk*Java.so.*
%doc README.html
%doc vtkLogo.jpg
%dir %{_libdir}/%{name}
%{_bindir}/vtkParseJava
%{_bindir}/vtkWrapJava
%{_libdir}/%{name}/java/
%{_libdir}/*Java.so.*
%files examples
%files testing -f testing.list
%defattr(-,root,root,-)
%{_datadir}/%{name}-examples
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/testing/
%doc README.html
%doc vtkLogo.jpg
%files examples -f examples.list
%defattr(-,root,root,-)
%dir %{_libdir}/%{name}
%doc README.html
%doc vtkLogo.jpg
%changelog
* Sat May 08 2010 Werner Hoch <werner.ho@gmx.de> - 5.4.2
- applied patches provided by Marcel Witte <wittemar@googlemail.com>
- enable java bindings
- patch to fix png-support for factory
* Mon Jun 08 2009 Andrea Florio <andrea@opensuse.org> - 5.4.2
- made rpmlint happy (using fdupes)
- fixed rpm Group using real ones, please check here: http://en.opensuse.org/SUSE_Package_Conventions/RPM_Groups
- added libraries introduced in version 5.4.2 to file lists
- use qt4 instead of qt3
- replaced %{lib_version} with %{version}
- set VTK_LEGACY_REMOVE to OFF for compatibility with applications that uses the legacy functions
* Sat Jan 03 2009 Werner Hoch <werner.ho@gmx.de> - 5.2.1
- removed vtk-data
- removed vtk-doc (doxygen)
- new version 5.2.1
- build fixes for openSUSE 11.1
* Sat Aug 09 2008 Werner Hoch <werner.ho@gmx.de> - 5.0.4
- switched to the specfile from Jaroslaw Zachwieja
http://www2.warwick.ac.uk/fac/sci/csc/people/computingstaff/jaroslaw_zachwieja/vtk/
- use qt3 instead of qt4
* Thu Jul 18 2008 Werner Hoch <werner.ho@gmx.de> - 5.0.4
- specfile taken from fedora core 9 and adapted to opensuse