Accepting request 114978 from science

Use more system libraries (gl2ps and hdf5), Updated/Removed some dependencies, Removed build time references, Compile the package out-of-source (forwarded request 114971 from adra)

OBS-URL: https://build.opensuse.org/request/show/114978
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/vtk?expand=0&rev=2
This commit is contained in:
Stephan Kulow 2012-05-08 16:02:11 +00:00 committed by Git OBS Bridge
commit 69f416c924
3 changed files with 297 additions and 150 deletions

39
vtk-boost149.patch Normal file
View File

@ -0,0 +1,39 @@
Index: VTK/Infovis/vtkBoostBreadthFirstSearchTree.cxx
===================================================================
--- VTK.orig/Infovis/vtkBoostBreadthFirstSearchTree.cxx
+++ VTK/Infovis/vtkBoostBreadthFirstSearchTree.cxx
@@ -47,6 +47,21 @@ using namespace boost;
vtkStandardNewMacro(vtkBoostBreadthFirstSearchTree);
+#if BOOST_VERSION >= 104800 // Boost 1.48.x
+namespace {
+ vtkIdType unwrap_edge_id(vtkEdgeType const &e) {
+ return e.Id;
+ }
+ vtkIdType unwrap_edge_id(boost::detail::reverse_graph_edge_descriptor<vtkEdgeType> const &e) {
+# if BOOST_VERSION == 104800
+ return e.underlying_desc.Id;
+# else
+ return e.underlying_descx.Id;
+#endif
+ }
+}
+#endif
+
// Redefine the bfs visitor, the only visitor we
// are using is the tree_edge visitor.
template <typename IdMap>
@@ -95,7 +110,12 @@ public:
// Copy the vertex and edge data from the graph to the tree.
tree->GetVertexData()->CopyData(graph->GetVertexData(), v, tree_v);
+#if BOOST_VERSION < 104800 // Boost 1.48.x
tree->GetEdgeData()->CopyData(graph->GetEdgeData(), e.Id, tree_e.Id);
+#else
+ tree->GetEdgeData()->CopyData(graph->GetEdgeData(),
+ unwrap_edge_id(e), tree_e.Id);
+#endif
}
private:

View File

@ -1,3 +1,36 @@
-------------------------------------------------------------------
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 Thu Feb 2 12:39:13 UTC 2012 - toddrme2178@gmail.com

375
vtk.spec
View File

@ -1,7 +1,7 @@
# #
# spec file for package vtk # spec file for package vtk
# #
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2012 SUSE LINUX Products 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
@ -15,46 +15,58 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/ # Please submit bugfixes or comments via http://bugs.opensuse.org/
# #
%define qtdir /%{_lib}/qt4
Name: vtk Name: vtk
Version: 5.8.0 Version: 5.8.0
# get the first two version numbers Release: 0
Release: 1
# This is a variant BSD license, a cross between BSD and ZLIB. # This is a variant BSD license, a cross between BSD and ZLIB.
# For all intents, it has the same rights and restrictions as BSD. # For all intents, it has the same rights and restrictions as BSD.
# http://fedoraproject.org/wiki/Licensing/BSD#VTKBSDVariant # http://fedoraproject.org/wiki/Licensing/BSD#VTKBSDVariant
License: BSD-3-Clause
Summary: The Visualization Toolkit - A high level 3D visualization library Summary: The Visualization Toolkit - A high level 3D visualization library
Url: http://vtk.org/ License: BSD-3-Clause
Group: Productivity/Scientific/Other Group: Productivity/Scientific/Other
Url: http://vtk.org/
Source: http://www.vtk.org/files/release/5.8/%{name}-%{version}.tar.gz Source: http://www.vtk.org/files/release/5.8/%{name}-%{version}.tar.gz
# PATCH-FIX-UPSTREAM vtk-pythondestdir.patch --badshah400@gmail.com Correct installation destination for python libraries # PATCH-FIX-UPSTREAM vtk-pythondestdir.patch badshah400@gmail.com -- Correct installation destination for python libraries
Patch0: vtk-pythondestdir.patch Patch0: vtk-pythondestdir.patch
# PATCH-FIX-UPSTREAM vtk-system.patch --badshah400@gmail.com Use system libraries # PATCH-FIX-UPSTREAM vtk-system.patch badshah400@gmail.com -- Use system libraries, http://public.kitware.com/Bug/view.php?id=11823
# http://public.kitware.com/Bug/view.php?id=11823
Patch1: vtk-system.patch Patch1: vtk-system.patch
# PATCH-FIX-UPSTREAM vtk-sqldatabaseschema.patch --badshah400@gmail.com Resolve problems with vtkSQLdatabaseschema.cxx, patch came from upstream # PATCH-FIX-UPSTREAM vtk-sqldatabaseschema.patch badshah400@gmail.com -- Resolve problems with vtkSQLdatabaseschema.cxx, patch came from upstream
Patch2: vtk-sqldatabaseschema.patch Patch2: vtk-sqldatabaseschema.patch
# patch to fix the soname for libVTKnetcdf_cxx # patch to fix the soname for libVTKnetcdf_cxx
Patch3: vtk-soversion2.patch Patch3: vtk-soversion2.patch
# PATCH-FIX-UPSTREAM vtk-boost149.patch idoenmez@suse.de -- Fix compilation with boost 1.49
Patch4: vtk-boost149.patch
%if 0%{?suse_version} > 1210
BuildRequires: Mesa-libGL-devel
%else
BuildRequires: Mesa-devel BuildRequires: Mesa-devel
BuildRequires: MesaGLw-devel %endif
BuildRequires: boost-devel BuildRequires: boost-devel
BuildRequires: chrpath BuildRequires: chrpath
BuildRequires: cmake BuildRequires: cmake
BuildRequires: doxygen BuildRequires: doxygen
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: freeglut-devel
BuildRequires: freetype2-devel BuildRequires: freetype2-devel
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: gcc-java %if 0%{?suse_version} > 1210
BuildRequires: gl2ps-devel
%endif
BuildRequires: gnuplot BuildRequires: gnuplot
BuildRequires: graphviz BuildRequires: graphviz
%if 0%{?suse_version} > 1210
BuildRequires: hdf5-devel
%endif
BuildRequires: java-devel BuildRequires: java-devel
BuildRequires: libQtWebKit-devel BuildRequires: libQtWebKit-devel
%if 0%{?suse_version} > 1210
BuildRequires: libX11-devel
BuildRequires: libXt-devel
%else
BuildRequires: xorg-x11-devel
%endif
BuildRequires: libexpat-devel BuildRequires: libexpat-devel
BuildRequires: libgcj-devel BuildRequires: libiodbc-devel
BuildRequires: libjpeg-devel BuildRequires: libjpeg-devel
BuildRequires: libmysqlclient-devel BuildRequires: libmysqlclient-devel
BuildRequires: libpng-devel BuildRequires: libpng-devel
@ -62,15 +74,15 @@ BuildRequires: libqt4-devel
BuildRequires: libtheora-devel BuildRequires: libtheora-devel
BuildRequires: libtiff-devel BuildRequires: libtiff-devel
BuildRequires: openmotif-devel BuildRequires: openmotif-devel
BuildRequires: postgresql-devel
BuildRequires: python-devel BuildRequires: python-devel
BuildRequires: sqlite3-devel BuildRequires: python-qt4-devel
BuildRequires: tcl-devel BuildRequires: tcl-devel
BuildRequires: tk-devel BuildRequires: tk-devel
BuildRequires: xorg-x11-devel BuildRequires: wget
BuildRequires: zlib-devel BuildRequires: zlib-devel
BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(libxml-2.0)
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
%define qtdir %{_lib}/qt4
%description %description
VTK is an open-source software system for image processing, 3D VTK is an open-source software system for image processing, 3D
@ -83,7 +95,18 @@ volume rendering, LOD control).
Summary: VTK header files for building C++ code Summary: VTK header files for building C++ code
Group: Development/Libraries/Other Group: Development/Libraries/Other
Requires: %{name} = %{version} Requires: %{name} = %{version}
Requires: %{name}-java = %{version}
Requires: %{name}-qt = %{version}
Requires: %{name}-tcl = %{version}
%if 0%{?suse_version} > 1210
Requires: Mesa-libGL-devel
%else
Requires: Mesa-devel Requires: Mesa-devel
%endif
%if 0%{?suse_version} > 1210
Requires: gl2ps-devel
Requires: hdf5-devel
%endif
Requires: libexpat-devel Requires: libexpat-devel
Requires: libjpeg-devel Requires: libjpeg-devel
Requires: libmysqlclient-devel Requires: libmysqlclient-devel
@ -92,7 +115,8 @@ Requires: libpng-devel
Requires: libqt4-devel Requires: libqt4-devel
Requires: libtheora-devel Requires: libtheora-devel
Requires: libtiff-devel Requires: libtiff-devel
Requires: postgresql-devel Requires: python-%{name} = %{version}
Requires: python-%{name}-qt = %{version}
%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
@ -104,35 +128,6 @@ volume rendering, LOD control).
This provides the VTK header files required to compile C++ programs that 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
Group: System/Libraries
Requires: %{name} = %{version}
%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 -n python-vtk
Summary: Python bindings for VTK
Group: System/Libraries
Requires: %{name} = %{version}
%{py_requires}
%description -n python-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 %package java
Summary: Java bindings for VTK Summary: Java bindings for VTK
Group: Development/Libraries/Java Group: Development/Libraries/Java
@ -147,23 +142,41 @@ volume rendering, LOD control).
This package provides java bindings for VTK. This package provides java bindings for VTK.
%package testing %package -n python-%{name}
Summary: Testing programs for VTK Summary: Python bindings for VTK
Group: Productivity/Scientific/Other Group: System/Libraries
Requires: %{name} = %{version} Requires: %{name} = %{version}
Requires: vtkdata = %{version} %{py_requires}
%description testing %description -n python-%{name}
VTK is an open-source software system for image processing, 3D VTK is an open-source software system for image processing, 3D
graphics, volume rendering and visualization. VTK includes many graphics, volume rendering and visualization. VTK includes many
advanced algorithms (e.g., surface reconstruction, implicit modelling, advanced algorithms (e.g., surface reconstruction, implicit modelling,
decimation) and rendering techniques (e.g., hardware-accelerated decimation) and rendering techniques (e.g., hardware-accelerated
volume rendering, LOD control). volume rendering, LOD control).
This package provides a few testing programs for VTK This package provides python bindings for VTK.
%package -n python-%{name}-qt
Summary: Qt Python VTK widget
Group: System/Libraries
Requires: %{name} = %{version}
Requires: %{name}-qt = %{version}
Requires: python-%{name} = %{version}
Requires: python-qt4
%{py_requires}
%description -n python-%{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 %package qt
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}
@ -176,11 +189,25 @@ volume rendering, LOD control).
This package provides Qt bindings for VTK. This package provides Qt bindings for VTK.
%package tcl
Summary: Tcl bindings for VTK
Group: System/Libraries
Requires: %{name} = %{version}
%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 %package examples
Summary: Examples for VTK Summary: Examples for VTK
Group: Productivity/Scientific/Other Group: Productivity/Scientific/Other
Requires: %{name} = %{version} Requires: %{name} = %{version}
Requires: vtkdata = %{version} Requires: %{name}data = %{version}
%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
@ -193,65 +220,107 @@ This package contains many well-commented examples showing how to use
VTK. Examples are available in the C++, Tcl, Python and Java VTK. Examples are available in the C++, Tcl, Python and Java
programming languages. programming languages.
%package testing
Summary: Testing programs for VTK
Group: Productivity/Scientific/Other
Requires: %{name} = %{version}
Requires: %{name}data = %{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.
%prep %prep
%setup -q -n VTK %setup -q -n VTK
%patch0 -p1 %patch0 -p1
%patch1 -p1 %patch1 -p1
%patch2 -p1 %patch2 -p1
%patch3 -p1 %patch3 -p1
%patch4 -p1
# Replace relative path ../../../VTKData with %%{_datadir}/vtkdata-%%{version} # Remove build time references so build-compare can do its work
FAKE_BUILDDATE=$(LC_ALL=C date -u -r %{_sourcedir}/%{name}.changes '+%%b %%e %%Y')
FAKE_BUILDTIME=$(LC_ALL=C date -u -r %{_sourcedir}/%{name}.changes '+%%H:%%M')
sed -i "s/__DATE__/\"$FAKE_BUILDDATE\"/" Utilities/vtknetcdf/libvers.c
sed -i "s/__TIME__/\"$FAKE_BUILDTIME\"/" Utilities/vtknetcdf/libvers.c
# Replace relative path ../../../VTKData with %%{_datadir}/%%{name}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}/%{name},g'
%build %build
export CC='gcc'
export CXX='g++'
export MAKE='make'
export CFLAGS="%{optflags}" export CFLAGS="%{optflags}"
export CXXFLAGS="%{optflags}" export CXXFLAGS="%{optflags}"
cmake . \ mkdir build
-DVTK_USE_QT:BOOL=ON \ pushd build
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \ cmake .. \
-DVTK_INSTALL_LIB_DIR:PATH=/%{_lib}/%{name} \ -DBUILD_DOCUMENTATION:BOOL=ON \
-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_EXAMPLES:BOOL=ON \
-DBUILD_SHARED_LIBS:BOOL=ON \ -DBUILD_SHARED_LIBS:BOOL=ON \
-DBUILD_TESTING:BOOL=ON \ -DBUILD_TESTING:BOOL=ON \
-DVTK_USE_GUISUPPORT:BOOL=ON \ -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
-DVTK_INSTALL_QT_DIR:STRING=%{qtdir}/plugins/designer \ -DSIP_INCLUDE_DIR:Path=%{py_incdir} \
-DVTK_INSTALL_LIB_DIR:PATH=/%{_lib}/%{name}\
-DVTK_INSTALL_QT_DIR:STRING=/%{qtdir}/plugins/designer \
-DVTK_USE_BOOST:BOOL=ON \
-DVTK_USE_GL2PS:BOOL=ON \ -DVTK_USE_GL2PS:BOOL=ON \
-DVTK_USE_SYSTEM_EXPAT:BOOL=ON \ -DVTK_USE_GUISUPPORT:BOOL=ON \
-DVTK_USE_SYSTEM_JPEG:BOOL=ON \ -DVTK_USE_MYSQL:BOOL=ON \
-DVTK_USE_SYSTEM_PNG:BOOL=ON \ -DVTK_USE_OGGTHEORA_ENCODER:BOOL=ON \
-DVTK_USE_SYSTEM_TIFF:BOOL=ON \ -DVTK_USE_ODBC:BOOL=ON \
-DVTK_USE_SYSTEM_ZLIB:BOOL=ON \ -DVTK_USE_PARALLEL:BOOL=ON \
-DVTK_USE_SYSTEM_EXPAT:BOOL=ON \ -DVTK_USE_PARALLEL_BGL:BOOL=ON \
-DVTK_USE_SYSTEM_FREETYPE:BOOL=ON -DVTK_USE_QT:BOOL=ON \
-DVTK_USE_QVTK_QTOPENGL:BOOL=ON \
-DVTK_USE_RENDERING:BOOL=ON \
-DVTK_USE_TEXT_ANALYSIS:BOOL=ON \
-DVTK_USE_SYSTEM_LIBRARIES:BOOL=ON \
-DVTK_USE_SYSTEM_LIBPROJ4:BOOL=OFF \
%if 0%{?suse_version} <= 1210
-DVTK_USE_SYSTEM_GL2PS:BOOL=OFF \
-DVTK_USE_SYSTEM_HDF5:BOOL=OFF \
%endif
-DVTK_WRAP_JAVA:BOOL=ON \
-DVTK_WRAP_PYTHON:BOOL=ON \
-DVTK_WRAP_PYTHON_SIP:BOOL=ON \
-DVTK_WRAP_TCL:BOOL=ON
make %{?_smp_mflags} # Package fails to compile with the following option (Note: postgresql-devel and libpqxx-devel are needed as dependencies)
# -DVTK_USE_POSTGRES:BOOL=ON \
make %{?_smp_mflags} VERBOSE=1
# Remove executable bits from sources (some of which are generated) # 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 find . -name \*.c -or -name \*.cxx -or -name \*.h -or -name \*.hxx -or -name \*.gif | xargs chmod -x
popd
%install %install
make DESTDIR=%{buildroot} install pushd build
%makeinstall
mv %{buildroot}%{_libdir}/%{name}/lib*.so* %{buildroot}%{_libdir}/ # link the directories to %%{_libdir}. Moving them breaks the cmake macros.
echo `ls %{buildroot}%{_libdir}/%{name}/*.so*`
echo `ls %{buildroot}%{_libdir}/%{name}/*.so* | sed -e's,^%{buildroot}%{_libdir}/,,'`
ls %{buildroot}%{_libdir}/%{name}/*.so* | sed -e's,^%{buildroot}%{_libdir}/,,' | xargs ln -st %{buildroot}%{_libdir}
# Gather list of non-python/tcl libraries # Gather list of non-binding libraries
ls %{buildroot}%{_libdir}/*.so.* | grep -Ev '(Java|QVTK|Qt|PythonD|TCL)' | sed -e's,^%{buildroot},,' > libs.list ls %{buildroot}%{_libdir}/lib*.so.* \
%{buildroot}%{_libdir}/%{name}/lib*.so.* | grep -Ev '(Java|QVTK|Qt|Python|TCL)' | sed -e's,^%{buildroot},,' > libs.list
# Gather list of devel libraries
ls %{buildroot}%{_libdir}/*.so \
%{buildroot}%{_libdir}/%{name}/*.so | sed -e's,^%{buildroot},,' > devel.list
# List of executable utilities # List of executable utilities
cat > utils.list << EOF cat > utils.list << EOF
vtkEncodeString %{name}EncodeString
vtkWrapHierarchy %{name}WrapHierarchy
lproj lproj
EOF EOF
@ -297,6 +366,13 @@ SocketClient
SocketServer SocketServer
EOF EOF
# List of devel utilities and files
cat > utils.list << EOF
%{name}EncodeString
%{name}WrapHierarchy
lproj
EOF
# Install utils/examples/testing, too # Install utils/examples/testing, too
for filelist in utils.list examples.list testing.list; do for filelist in utils.list examples.list testing.list; do
for file in `cat $filelist`; do for file in `cat $filelist`; do
@ -311,6 +387,8 @@ chrpath -d %{buildroot}%{_bindir}/*
# Main package contains utils and core libs # Main package contains utils and core libs
cat libs.list utils.list > main.list cat libs.list utils.list > main.list
popd
# Make shared libs and scripts executable # Make shared libs and scripts executable
chmod a+x %{buildroot}%{_libdir}/%{name}/doxygen/*.pl chmod a+x %{buildroot}%{_libdir}/%{name}/doxygen/*.pl
chmod a+x %{buildroot}%{_libdir}/%{name}/testing/*.{py,tcl} chmod a+x %{buildroot}%{_libdir}/%{name}/testing/*.{py,tcl}
@ -323,100 +401,97 @@ done
find Utilities/Upgrading -type f | xargs chmod -x find Utilities/Upgrading -type f | xargs chmod -x
# Verdict places the docs in the false folder # Verdict places the docs in the false folder
rm -rf %{buildroot}%{_libdir}/vtk/doc rm -rf %{buildroot}%{_libdir}/%{name}/doc
#Move tcl script to %%{_datadir}/tcl/vtk/ # Move tcl script to %%{_datadir}/tcl/%%{name}/
mkdir -p %{buildroot}%{_datadir}/tcl/vtk/ mkdir -p %{buildroot}%{_datadir}/tcl/%{name}/
mv %{buildroot}%{_libdir}/%{name}/tcl/ %{buildroot}%{_datadir}/tcl/vtk/ mv %{buildroot}%{_libdir}/%{name}/tcl/ %{buildroot}%{_datadir}/tcl/%{name}/
mv %{buildroot}%{_libdir}/%{name}/*.tcl %{buildroot}%{_datadir}/tcl/%{name}/ mv %{buildroot}%{_libdir}/%{name}/*.tcl %{buildroot}%{_datadir}/tcl/%{name}/
%fdupes -s %{buildroot} %fdupes -s %{buildroot}
%clean %post -p /sbin/ldconfig
rm -rf %{buildroot}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig %postun -p /sbin/ldconfig
%post tcl -p /sbin/ldconfig %post java -p /sbin/ldconfig
%postun tcl -p /sbin/ldconfig
%post -n python-vtk -p /sbin/ldconfig
%postun -n python-vtk -p /sbin/ldconfig
%post java -p /sbin/ldconfig
%postun java -p /sbin/ldconfig %postun java -p /sbin/ldconfig
%post qt -p /sbin/ldconfig %post -n python-%{name} -p /sbin/ldconfig
%postun -n python-%{name} -p /sbin/ldconfig
%post -n python-%{name}-qt -p /sbin/ldconfig
%postun -n python-%{name}-qt -p /sbin/ldconfig
%post qt -p /sbin/ldconfig
%postun qt -p /sbin/ldconfig %postun qt -p /sbin/ldconfig
%files -f main.list %post tcl -p /sbin/ldconfig
%defattr(-,root,root,-) %postun tcl -p /sbin/ldconfig
%doc Copyright.txt README.html vtkLogo.jpg vtkBanner.gif Wrapping/*/README*
%files devel %files -f build/main.list
%defattr(-,root,root,-)
%doc Copyright.txt README.html %{name}Logo.jpg %{name}Banner.gif Wrapping/*/README*
%dir %{_libdir}/%{name}/
%files devel -f build/devel.list
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc Utilities/Upgrading %doc Utilities/Upgrading
%{_libdir}/%{name}/doxygen
%{_includedir}/%{name}-5.8/
%{_libdir}/%{name}/CMake/
%{_libdir}/%{name}/*.cmake %{_libdir}/%{name}/*.cmake
%{_libdir}/%{name}/hints %{_libdir}/%{name}/doxygen/
%{_libdir}/*.so %{_libdir}/%{name}/CMake/
%{_libdir}/%{name}/hints/
%files tcl %{_includedir}/%{name}-5.8/
%defattr(-,root,root,-)
%doc README.html
%doc vtkLogo.jpg
%{_bindir}/vtkWrapTcl
%{_bindir}/vtkWrapTclInit
%{_bindir}/vtk
%{_libdir}/libvtk*TCL.so.*
%{_datadir}/tcl/vtk/
%files -n python-vtk
%defattr(-,root,root,-)
%doc README.html
%doc vtkLogo.jpg
%{python_sitelib}/%{name}/
%{_libdir}/*PythonD.so.*
%{_prefix}/lib/python%{py_ver}/site-packages/VTK-%{version}-py%{py_ver}.egg-info
%{_bindir}/vtkWrapPython
%{_bindir}/vtkWrapPythonInit
%{_bindir}/vtkpython
%files java %files java
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc README.html %{_bindir}/%{name}ParseJava
%doc vtkLogo.jpg %{_bindir}/%{name}WrapJava
%dir %{_libdir}/%{name}
%{_bindir}/vtkParseJava
%{_bindir}/vtkWrapJava
%{_libdir}/%{name}/java/
%{_libdir}/*Java.so.* %{_libdir}/*Java.so.*
%{_libdir}/%{name}/*Java.so.*
%{_libdir}/%{name}/java/
%files testing -f testing.list %files -n python-%{name}
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc README.html %{_bindir}/%{name}python
%doc vtkLogo.jpg %{_bindir}/%{name}WrapPython
%dir %{_libdir}/%{name} %{_bindir}/%{name}WrapPythonInit
%{_libdir}/%{name}/testing/ %{_libdir}/libvtkPythonCore.so.*
%{_libdir}/libvtkRenderingPythonTkWidgets.so.*
%{_libdir}/*PythonD.so.*
%{_libdir}/%{name}/libvtkPythonCore.so.*
%{_libdir}/%{name}/libvtkRenderingPythonTkWidgets.so.*
%{_libdir}/%{name}/*PythonD.so.*
%{python_sitelib}/VTK-%{version}-py%{py_ver}.egg-info
%{python_sitelib}/%{name}/
%exclude %{python_sitelib}/%{name}/QVTKPython.so
%exclude %{python_sitelib}/%{name}/*PythonSIP.so
%files -n python-%{name}-qt
%defattr(-,root,root,-)
%{python_sitelib}/%{name}/QVTKPython.so
%{python_sitelib}/%{name}/*PythonSIP.so
%files qt %files qt
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_libdir}/libQVTK.so.* %{_libdir}/libQVTK.so.*
%{_libdir}/%{name}/libQVTK.so.*
%dir %{_prefix}/%{qtdir}/plugins/designer %dir %{_prefix}/%{qtdir}/plugins/designer
%{_prefix}/%{qtdir}/plugins/designer/libQVTKWidgetPlugin.so %{_prefix}/%{qtdir}/plugins/designer/libQVTKWidgetPlugin.so
%files examples -f examples.list %files tcl
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc README.html %{_bindir}/%{name}
%doc vtkLogo.jpg %{_bindir}/%{name}WrapTcl
%dir %{_libdir}/%{name} %{_bindir}/%{name}WrapTclInit
%{_datadir}/tcl/%{name}/
%{_libdir}/lib%{name}*TCL.so.*
%{_libdir}/%{name}/lib%{name}*TCL.so.*
%files examples -f build/examples.list
%defattr(-,root,root,-)
%files testing -f build/testing.list
%defattr(-,root,root,-)
%{_libdir}/%{name}/testing/
%changelog %changelog