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

293
vtk.spec
View File

@ -1,7 +1,7 @@
#
# 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
# remain the property of their copyright owners, unless otherwise agreed
@ -15,11 +15,8 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define qtdir /%{_lib}/qt4
Name: vtk
Version: 5.8.0
# get the first two version numbers
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.
@ -55,6 +52,7 @@ BuildRequires: java-devel
BuildRequires: libQtWebKit-devel
BuildRequires: libexpat-devel
BuildRequires: libgcj-devel
BuildRequires: libiodbc-devel
BuildRequires: libjpeg-devel
BuildRequires: libmysqlclient-devel
BuildRequires: libpng-devel
@ -64,13 +62,16 @@ BuildRequires: libtiff-devel
BuildRequires: openmotif-devel
BuildRequires: postgresql-devel
BuildRequires: python-devel
BuildRequires: python-qt4-devel
BuildRequires: sqlite3-devel
BuildRequires: tcl-devel
BuildRequires: tk-devel
BuildRequires: wget
BuildRequires: xorg-x11-devel
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
@ -83,6 +84,11 @@ volume rendering, LOD control).
Summary: VTK header files for building C++ code
Group: Development/Libraries/Other
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: libexpat-devel
Requires: libjpeg-devel
@ -104,35 +110,6 @@ volume rendering, LOD control).
This provides the VTK header files required to compile C++ programs that
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
Summary: Java bindings for VTK
Group: Development/Libraries/Java
@ -147,23 +124,41 @@ volume rendering, LOD control).
This package provides java bindings for VTK.
%package testing
Summary: Testing programs for VTK
Group: Productivity/Scientific/Other
%package -n python-%{name}
Summary: Python bindings for VTK
Group: System/Libraries
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
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
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
Summary: QT VTK widget
Summary: Qt VTK widget
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}
@ -176,11 +171,25 @@ 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: vtkdata = %{version}
Requires: %{name}data = %{version}
%description examples
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
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
@ -200,7 +224,7 @@ programming languages.
%patch2 -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.
grep -rl '\.\./\.\./\.\./\.\./VTKData' . | xargs perl -pi -e's,\.\./\.\./\.\./\.\./VTKData,%{_datadir}/%{name},g'
@ -212,28 +236,42 @@ export CFLAGS="%{optflags}"
export CXXFLAGS="%{optflags}"
cmake . \
-DVTK_USE_QT: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_DOCUMENTATION:BOOL=ON \
-DBUILD_EXAMPLES:BOOL=ON \
-DBUILD_SHARED_LIBS:BOOL=ON \
-DBUILD_TESTING:BOOL=ON \
-DVTK_USE_GUISUPPORT:BOOL=ON \
-DVTK_INSTALL_QT_DIR:STRING=%{qtdir}/plugins/designer \
-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_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_FREETYPE:BOOL=ON \
-DVTK_USE_SYSTEM_OGGTHEORA:BOOL=ON \
-DVTK_USE_SYSTEM_JPEG:BOOL=ON \
-DVTK_USE_SYSTEM_LIBXML2: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_WRAP_JAVA: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}
@ -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
%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
ls %{buildroot}%{_libdir}/*.so.* | grep -Ev '(Java|QVTK|Qt|PythonD|TCL)' | sed -e's,^%{buildroot},,' > libs.list
# 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
vtkEncodeString
vtkWrapHierarchy
%{name}EncodeString
%{name}WrapHierarchy
lproj
EOF
@ -297,6 +343,13 @@ 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
@ -323,11 +376,11 @@ done
find Utilities/Upgrading -type f | xargs chmod -x
# 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/
mkdir -p %{buildroot}%{_datadir}/tcl/vtk/
mv %{buildroot}%{_libdir}/%{name}/tcl/ %{buildroot}%{_datadir}/tcl/vtk/
#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}
@ -335,88 +388,88 @@ mv %{buildroot}%{_libdir}/%{name}/*.tcl %{buildroot}%{_datadir}/tcl/%{name}/
%clean
rm -rf %{buildroot}
%post -p /sbin/ldconfig
%post -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
%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
%post tcl -p /sbin/ldconfig
%postun tcl -p /sbin/ldconfig
%files -f main.list
%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,-)
%doc Utilities/Upgrading
%{_libdir}/%{name}/doxygen
%{_includedir}/%{name}-5.8/
%{_libdir}/%{name}/CMake/
%{_libdir}/%{name}/*.cmake
%{_libdir}/%{name}/hints
%{_libdir}/*.so
%files tcl
%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
%{_libdir}/%{name}/doxygen/
%{_libdir}/%{name}/CMake/
%{_libdir}/%{name}/hints/
%{_includedir}/%{name}-5.8/
%files java
%defattr(-,root,root,-)
%doc README.html
%doc vtkLogo.jpg
%dir %{_libdir}/%{name}
%{_bindir}/vtkParseJava
%{_bindir}/vtkWrapJava
%{_libdir}/%{name}/java/
%{_bindir}/%{name}ParseJava
%{_bindir}/%{name}WrapJava
%{_libdir}/*Java.so.*
%{_libdir}/%{name}/*Java.so.*
%{_libdir}/%{name}/java/
%files testing -f testing.list
%files -n python-%{name}
%defattr(-,root,root,-)
%doc README.html
%doc vtkLogo.jpg
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/testing/
%{_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 examples.list
%defattr(-,root,root,-)
%doc README.html
%doc vtkLogo.jpg
%dir %{_libdir}/%{name}
%files testing -f testing.list
%defattr(-,root,root,-)
%{_libdir}/%{name}/testing/
%changelog