From 25be06f83bdbe88f510187a4156c2afc7afece2ddbfa906011ca8d4f988594e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Tue, 3 Apr 2012 16:10:57 +0000 Subject: [PATCH] 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 --- vtk.changes | 14 +++ vtk.spec | 293 +++++++++++++++++++++++++++++++--------------------- 2 files changed, 187 insertions(+), 120 deletions(-) diff --git a/vtk.changes b/vtk.changes index 269baa5..71ba8b6 100644 --- a/vtk.changes +++ b/vtk.changes @@ -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 diff --git a/vtk.spec b/vtk.spec index ebe6286..bcced99 100644 --- a/vtk.spec +++ b/vtk.spec @@ -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