cf48090bfd
Update to version 5.10.0 (now builds on openSUSE 11.4 as well); OBS-URL: https://build.opensuse.org/request/show/121530 OBS-URL: https://build.opensuse.org/package/show/science/vtk?expand=0&rev=35
497 lines
15 KiB
RPMSpec
497 lines
15 KiB
RPMSpec
#
|
|
# spec file for package vtk
|
|
#
|
|
# Copyright (c) 2012 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/
|
|
#
|
|
|
|
|
|
Name: vtk
|
|
Version: 5.10.0
|
|
Release: 0
|
|
%define series 5.10
|
|
# 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}/%{name}-%{version}.tar.gz
|
|
# PATCH-FIX-UPSTREAM vtk-pythondestdir.patch badshah400@gmail.com -- Correct installation destination for python libraries
|
|
Patch0: vtk-pythondestdir.patch
|
|
# PATCH-FIX-UPSTREAM vtk-system.patch badshah400@gmail.com -- Use system libraries, http://public.kitware.com/Bug/view.php?id=11823
|
|
Patch1: vtk-system.patch
|
|
# patch to fix the soname for libVTKnetcdf_cxx
|
|
Patch2: vtk-soversion2.patch
|
|
# PATCH-FIX-UPSTREAM vtk-sqldatabaseschema.patch badshah400@gmail.com -- Fix problems with vtkSQLDatabaseSchema.h
|
|
Patch3: vtk-sqldatabaseschema.patch
|
|
%if 0%{?suse_version} > 1210
|
|
BuildRequires: Mesa-libGL-devel
|
|
%else
|
|
BuildRequires: Mesa-devel
|
|
%endif
|
|
BuildRequires: boost-devel
|
|
BuildRequires: chrpath
|
|
BuildRequires: cmake
|
|
BuildRequires: doxygen
|
|
BuildRequires: fdupes
|
|
BuildRequires: freetype2-devel
|
|
BuildRequires: gcc-c++
|
|
%if 0%{?suse_version} > 1210
|
|
BuildRequires: gl2ps-devel
|
|
%endif
|
|
BuildRequires: gnuplot
|
|
BuildRequires: graphviz
|
|
%if 0%{?suse_version} > 1210
|
|
BuildRequires: hdf5-devel
|
|
%endif
|
|
BuildRequires: java-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: libiodbc-devel
|
|
BuildRequires: libjpeg-devel
|
|
BuildRequires: libmysqlclient-devel
|
|
BuildRequires: libpng-devel
|
|
BuildRequires: libqt4-devel
|
|
BuildRequires: libtheora-devel
|
|
BuildRequires: libtiff-devel
|
|
BuildRequires: python-devel
|
|
BuildRequires: python-qt4-devel
|
|
BuildRequires: tcl-devel
|
|
BuildRequires: tk-devel
|
|
BuildRequires: wget
|
|
BuildRequires: zlib-devel
|
|
BuildRequires: pkgconfig(libxml-2.0)
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
%define qtdir %{_lib}/qt4
|
|
|
|
%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}
|
|
%if 0%{?suse_version} > 1210
|
|
Requires: Mesa-libGL-devel
|
|
%else
|
|
Requires: Mesa-devel
|
|
%endif
|
|
%if 0%{?suse_version} > 1210
|
|
Requires: gl2ps-devel
|
|
Requires: hdf5-devel
|
|
%endif
|
|
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: python-%{name} = %{version}
|
|
Requires: python-%{name}-qt = %{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).
|
|
|
|
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}
|
|
|
|
%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 python-%{name}
|
|
Summary: Python bindings for VTK
|
|
Group: System/Libraries
|
|
Requires: %{name} = %{version}
|
|
%{py_requires}
|
|
|
|
%description -n python-%{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 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
|
|
Summary: Qt VTK widget
|
|
Group: Development/Libraries/C and C++
|
|
Requires: %{name} = %{version}
|
|
|
|
%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}
|
|
|
|
%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}
|
|
Requires: %{name}data = %{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.
|
|
|
|
%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
|
|
%setup -q -n VTK
|
|
%patch0 -p1
|
|
%patch1 -p1
|
|
%patch2 -p1
|
|
%if 0%{?suse_version} == 1140
|
|
%patch3 -p1
|
|
%endif
|
|
|
|
# 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.
|
|
grep -rl '\.\./\.\./\.\./\.\./VTKData' . | xargs perl -pi -e's,\.\./\.\./\.\./\.\./VTKData,%{_datadir}/%{name},g'
|
|
|
|
%build
|
|
export CFLAGS="%{optflags}"
|
|
export CXXFLAGS="%{optflags}"
|
|
|
|
mkdir build
|
|
pushd build
|
|
cmake .. \
|
|
-DBUILD_DOCUMENTATION:BOOL=ON \
|
|
-DBUILD_EXAMPLES:BOOL=ON \
|
|
-DBUILD_SHARED_LIBS:BOOL=ON \
|
|
-DBUILD_TESTING:BOOL=ON \
|
|
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
|
|
-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_GUISUPPORT:BOOL=ON \
|
|
-DVTK_USE_MYSQL:BOOL=ON \
|
|
-DVTK_USE_OGGTHEORA_ENCODER:BOOL=ON \
|
|
-DVTK_USE_ODBC:BOOL=ON \
|
|
-DVTK_USE_PARALLEL:BOOL=ON \
|
|
-DVTK_USE_PARALLEL_BGL: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
|
|
|
|
# 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}
|
|
|
|
# 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
|
|
|
|
# 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-binding libraries
|
|
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
|
|
cat > utils.list << EOF
|
|
%{name}EncodeString
|
|
%{name}WrapHierarchy
|
|
lproj
|
|
EOF
|
|
|
|
# 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
|
|
|
|
# List of devel utilities and files
|
|
cat > utils.list << EOF
|
|
%{name}EncodeString
|
|
%{name}WrapHierarchy
|
|
lproj
|
|
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
|
|
|
|
# Remove any remnants of rpaths
|
|
chrpath -d %{buildroot}%{_bindir}/*
|
|
|
|
# Main package contains utils and core libs
|
|
cat libs.list utils.list > main.list
|
|
|
|
popd
|
|
|
|
# Make shared libs and scripts executable
|
|
chmod a+x %{buildroot}%{_libdir}/%{name}/doxygen/*.pl
|
|
chmod a+x %{buildroot}%{_libdir}/%{name}/testing/*.{py,tcl}
|
|
|
|
# Remove exec bit from non-scripts and %%doc
|
|
for file in `find %{buildroot} -type f -perm 0755 | xargs -r file | grep ASCII | awk -F: '{print $1}'`; do
|
|
head -1 $file | grep '^#!' > /dev/null && continue
|
|
chmod 0644 $file
|
|
done
|
|
find Utilities/Upgrading -type f | xargs chmod -x
|
|
|
|
# Verdict places the docs in the false folder
|
|
rm -rf %{buildroot}%{_libdir}/%{name}/doc
|
|
|
|
# Move tcl script to %%{_datadir}/tcl/%%{name}/
|
|
mkdir -p %{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}
|
|
|
|
%post -p /sbin/ldconfig
|
|
%postun -p /sbin/ldconfig
|
|
|
|
%post java -p /sbin/ldconfig
|
|
%postun java -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
|
|
|
|
%post tcl -p /sbin/ldconfig
|
|
%postun tcl -p /sbin/ldconfig
|
|
|
|
%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,-)
|
|
%doc Utilities/Upgrading
|
|
%{_libdir}/%{name}/*.cmake
|
|
%{_libdir}/%{name}/doxygen/
|
|
%{_libdir}/%{name}/CMake/
|
|
%{_libdir}/%{name}/hints/
|
|
%{_includedir}/%{name}-%{series}/
|
|
|
|
%files java
|
|
%defattr(-,root,root,-)
|
|
%{_bindir}/%{name}ParseJava
|
|
%{_bindir}/%{name}WrapJava
|
|
%{_libdir}/*Java.so.*
|
|
%{_libdir}/%{name}/*Java.so.*
|
|
%{_libdir}/%{name}/java/
|
|
|
|
%files -n python-%{name}
|
|
%defattr(-,root,root,-)
|
|
%{_bindir}/%{name}python
|
|
%{_bindir}/%{name}WrapPython
|
|
%{_bindir}/%{name}WrapPythonInit
|
|
%{_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
|
|
%defattr(-,root,root,-)
|
|
%{_libdir}/libQVTK.so.*
|
|
%{_libdir}/%{name}/libQVTK.so.*
|
|
%dir %{_prefix}/%{qtdir}/plugins/designer
|
|
%{_prefix}/%{qtdir}/plugins/designer/libQVTKWidgetPlugin.so
|
|
|
|
%files tcl
|
|
%defattr(-,root,root,-)
|
|
%{_bindir}/%{name}
|
|
%{_bindir}/%{name}WrapTcl
|
|
%{_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
|