Accepting request 112397 from home:TheBlackCat:branches:science

resubmit with macro removed from url as requested

OBS-URL: https://build.opensuse.org/request/show/112397
OBS-URL: https://build.opensuse.org/package/show/science/vtk?expand=0&rev=29
This commit is contained in:
Ismail Dönmez 2012-04-03 16:10:57 +00:00 committed by Git OBS Bridge
parent 946ae19731
commit 25be06f83b
2 changed files with 187 additions and 120 deletions

View File

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

289
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,11 +15,8 @@
# 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: 1 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.
@ -55,6 +52,7 @@ BuildRequires: java-devel
BuildRequires: libQtWebKit-devel BuildRequires: libQtWebKit-devel
BuildRequires: libexpat-devel BuildRequires: libexpat-devel
BuildRequires: libgcj-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
@ -64,13 +62,16 @@ BuildRequires: libtiff-devel
BuildRequires: openmotif-devel BuildRequires: openmotif-devel
BuildRequires: postgresql-devel BuildRequires: postgresql-devel
BuildRequires: python-devel BuildRequires: python-devel
BuildRequires: python-qt4-devel
BuildRequires: sqlite3-devel BuildRequires: sqlite3-devel
BuildRequires: tcl-devel BuildRequires: tcl-devel
BuildRequires: tk-devel BuildRequires: tk-devel
BuildRequires: wget
BuildRequires: xorg-x11-devel BuildRequires: xorg-x11-devel
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,6 +84,11 @@ 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: python-%{name} = %{version}
Requires: python-%{name}-qt = %{version}
Requires: %{name}-qt = %{version}
Requires: %{name}-tcl = %{version}
Requires: Mesa-devel Requires: Mesa-devel
Requires: libexpat-devel Requires: libexpat-devel
Requires: libjpeg-devel Requires: libjpeg-devel
@ -104,35 +110,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 +124,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: python-%{name} = %{version}
Requires: %{name}-qt = %{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 +171,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,6 +202,21 @@ 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
@ -200,7 +224,7 @@ programming languages.
%patch2 -p1 %patch2 -p1
%patch3 -p1 %patch3 -p1
# Replace relative path ../../../VTKData with %%{_datadir}/vtkdata-%%{version} # 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'
@ -212,28 +236,42 @@ export CFLAGS="%{optflags}"
export CXXFLAGS="%{optflags}" export CXXFLAGS="%{optflags}"
cmake . \ cmake . \
-DVTK_USE_QT:BOOL=ON \ -DBUILD_DOCUMENTATION:BOOL=ON \
-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_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_GL2PS: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_SYSTEM_EXPAT:BOOL=ON \ -DVTK_USE_SYSTEM_EXPAT:BOOL=ON \
-DVTK_USE_SYSTEM_FREETYPE:BOOL=ON \
-DVTK_USE_SYSTEM_OGGTHEORA:BOOL=ON \
-DVTK_USE_SYSTEM_JPEG:BOOL=ON \ -DVTK_USE_SYSTEM_JPEG:BOOL=ON \
-DVTK_USE_SYSTEM_LIBXML2:BOOL=ON \
-DVTK_USE_SYSTEM_PNG:BOOL=ON \ -DVTK_USE_SYSTEM_PNG:BOOL=ON \
-DVTK_USE_SYSTEM_TIFF:BOOL=ON \ -DVTK_USE_SYSTEM_TIFF:BOOL=ON \
-DVTK_USE_SYSTEM_ZLIB:BOOL=ON \ -DVTK_USE_SYSTEM_ZLIB:BOOL=ON \
-DVTK_USE_SYSTEM_EXPAT:BOOL=ON \ -DVTK_WRAP_JAVA:BOOL=ON \
-DVTK_USE_SYSTEM_FREETYPE:BOOL=ON -DVTK_WRAP_PYTHON:BOOL=ON \
-DVTK_WRAP_PYTHON_SIP:BOOL=ON \
-DVTK_WRAP_TCL:BOOL=ON \
%if 0%{?suse_version} <= 1210
-DVTK_USE_BOOST:BOOL=ON \
-DVTK_USE_TEXT_ANALYSIS:BOOL=ON
%endif
# VTK boost libraries broken for boost 1.49+: http://vtk.org/Bug/view.php?id=12988
# VTK_USE_TEXT_ANALYSIS depends on VTK_USE_BOOST
make %{?_smp_mflags} make %{?_smp_mflags}
@ -241,17 +279,25 @@ make %{?_smp_mflags}
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
%install %install
make DESTDIR=%{buildroot} install %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 +343,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
@ -323,11 +376,11 @@ 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}
@ -336,87 +389,87 @@ mv %{buildroot}%{_libdir}/%{name}/*.tcl %{buildroot}%{_datadir}/tcl/%{name}/
rm -rf %{buildroot} rm -rf %{buildroot}
%post -p /sbin/ldconfig %post -p /sbin/ldconfig
%postun -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
%post java -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
%post tcl -p /sbin/ldconfig
%postun tcl -p /sbin/ldconfig
%files -f main.list %files -f main.list
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc Copyright.txt README.html vtkLogo.jpg vtkBanner.gif Wrapping/*/README* %doc Copyright.txt README.html %{name}Logo.jpg %{name}Banner.gif Wrapping/*/README*
%dir %{_libdir}/%{name}/
%files devel %files devel -f 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 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 examples.list %files examples -f examples.list
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc README.html
%doc vtkLogo.jpg %files testing -f testing.list
%dir %{_libdir}/%{name} %defattr(-,root,root,-)
%{_libdir}/%{name}/testing/
%changelog %changelog